Автор Тема: Прошу помочь с ошибкой "Cannot rename"  (Прочитано 787 раз)

11 Август 2018, 20:53:02
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Fatal error: Uncaught Symfony\Component\Filesystem\Exception\IOException: Cannot rename "/htdocs/var/cache/dev/translations/catalogue..NXhscRe.php51kXL1" to "/htdocs/var/cache/dev/translations/catalogue..NXhscRe.php". in /htdocs/vendor/symfony/symfony/src/Symfony/Component/Filesystem/Filesystem.php:302
Stack trace:
#0 /htdocs/vendor/symfony/symfony/src/Symfony/Component/Filesystem/Filesystem.php(737): Symfony\Component\Filesystem\Filesystem->rename('/var/www/shop.c...', '/var/www/shop.c...', true)
#1 /htdocs/vendor/symfony/symfony/src/Symfony/Component/Config/ResourceCheckerConfigCache.php(127): Symfony\Component\Filesystem\Filesystem->dumpFile('/var/www/shop.c...', '<?php\n\nuse Symf...') 
#2 /htdocs/vendor/symfony/symfony/src/Symfony/Component/Translation/Translator.php(334): Symfony\Component\Config\ResourceCheckerConfigCache->write('
<?php\n\nuse Symf...' in /htdocs/vendor/symfony/symfony/src/Symfony/Component/Filesystem/Filesystem.php on line 302

Ошибка в файле  /vendor/symfony/symfony/src/Symfony/Component/Filesystem/Filesystem.php

public function dumpFile($filename, $content)
    {
        $dir = dirname($filename);

        if (!is_dir($dir)) {
            $this->mkdir($dir);
        }

        if (!is_writable($dir)) {
            throw new IOException(sprintf('Unable to write to the "%s" directory.', $dir), 0, null, $dir);
        }

        // Will create a temp file with 0600 access rights
        // when the filesystem supports chmod.
        $tmpFile = $this->tempnam($dir, basename($filename));

//---------------------------------------------------------------------------------------
//Тут файл есть
//---------------------------------------------------------------------------------------

        if (false === @file_put_contents($tmpFile, $content)) {
            throw new IOException(sprintf('Failed to write file "%s".', $filename), 0, null, $filename);
        }

//---------------------------------------------------------------------------------------
//Тут файла нет
//---------------------------------------------------------------------------------------

        @chmod($tmpFile, file_exists($filename) ? fileperms($filename) : 0666 & ~umask());

        $this->rename($tmpFile, $filename, true);

        return $str;
    }

PS. Ошибка нестабильная, 1 раз из 15-20 заходов на страницу, и 200-300 срабатываний этого метода
PSS. Наличие файла проверяю чтением содержимого директории и file_exists.

12 Август 2018, 10:35:27
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Права доступа 755 или 777 на папки /var/ и /var/cache/ поставьте.
Проверьте права доступа на все папки и установите по требованиям prestashop вашей версии.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
12 Август 2018, 10:49:15
Ответ #2
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Все права рекурсивно 777, на всю престу от htdocs включительно. Да и файл создается, просто исчезает куда-то, кстати добавления echo в метод remove вроде уменьшило повторяемость.
12 Август 2018, 11:26:01
Ответ #3
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Prestashop с версии 1.7.4... лучше не устанавливать. Одни проблемы.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
12 Август 2018, 14:23:55
Ответ #4
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
какая версия стабильнее?
13 Август 2018, 09:41:27
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Я на prestahop 1.7.2 остаюсь. Попробывал обновить до 1.7.3, сайт лег. Почитал багтрекер prestashop и решил не возиться. Улучшений нет, багов полно.