Magento2 Невозможно добавить товары в корзину - "Мы не можем добавить этот товар в вашу корзину прямо сейчас" - проблема с tempnam () - PullRequest
0 голосов
/ 16 января 2019

Когда я хочу добавить какой-либо продукт (простые) в свою корзину, кнопка показывает успешное сообщение, однако из основного сообщения я получаю: "We can't add this item to your shopping cart right now". Не имеет значения, какой продукт я выбираю, и я также пробовал режим инкогнито или перезагрузить после очистки кэша.

Я использую только что установленную версию Magento 2.3.0 и нахожусь в режиме разработчика.

Из журнала я получаю следующее:

main.CRITICAL: Notice: tempnam(): file created in the system's temporary directory in /www/htdocs/[...]/[...]/vendor/magento/zendframework1/library/Zend/Cache/Backend.php on line 203 {"exception":"[object] (Exception(code: 0): Notice: tempnam(): file created in the system's temporary directory in /www/htdocs/[...]/[...]/vendor/magento/zendframework1/library/Zend/Cache/Backend.php on line 203 at /www/htdocs/[...]/[...]/vendor/magento/framework/App/ErrorHandler.php:61)"} []

Начиная со строки 203, это из Backend.php:

       $tempFile = tempnam(md5(uniqid(rand(), TRUE)), '');
    if ($tempFile) {
        $dir = realpath(dirname($tempFile));
        unlink($tempFile);
        if ($this->_isGoodTmpDir($dir)) {
            return $dir;
        }
    }

Поскольку товары на складе, я ожидаю, что они будут добавлены в корзину должным образом.

1 Ответ

0 голосов
/ 22 января 2019

EDIT

Это была проблема с временным каталогом. Обязательно установите разрешение 777 рекурсивно в каталог var / cache.

Но главной проблемой была настройка с каталогом tmp. Вы должны отредактировать php.ini, чтобы явно установить пути tmp:

sys_temp_dir="/absolute/path/to/magento2/var/tmp"
session.save_path="/absolute/path/to/magento2/var/tmp"
session.cookie_path="/absolute/path/to/magento2/var/tmp"

ИЛИ, если у вас нет доступа к php.ini (как я сделал из-за того, что мой веб-хостер не позволяет редактировать его), вы можете внести изменения в ваш .htaccess следующим образом (если ваш хостер поддерживает mod_env):

SetEnv TEMP /www/htdocs/your/path/mage/var/tmp
SetEnv TMP /www/htdocs/your/path/mage/var/tmp
SetEnv TMPDIR /www/htdocs/your/path/mage/var/tmp

Смотри также:

...