Magento 2.2.1 не удалось сохранить продукт-ошибка сужения произошла во время вывода типа. Пожалуйста, подайте отчет об ошибке на bugs.php.net
Вчера я обновил модуль и с помощью команды composer update также были обновлены некоторые файлы фреймворка magento. После этого сохранение продукта после корректировки запасов больше невозможно, появляется ошибка PhP:
Warning: Narrowing occurred during type inference. Please file a bug report on bugs.php.net in /home/jilco01/public_html/vendor/composer/ClassLoader.php on line 444 and product is not saved
Мой magento 2.2.1 работает на Php 7.1.12 и с Opcache и Redis.
3 ответа:
Это не решение ошибки PHP 7.1.12, но может помочь вам избежать этого предупреждения при выходе патча или новой версии (я полагаю, что это может быть решено тогда).
Проблема заключается в библиотеке OPCache, которая "... улучшает производительность PHP, сохраняя байт-код предварительно скомпилированного скрипта в общей памяти..."дополнительная информация: http://php.net/manual/en/intro.opcache.php .
"решение" - очистить кэш при загрузке приложения. Это легко, если у вас есть " один приложение "Точка входа" (например, при использовании фреймворка). Просто поместите следующую функцию в начало вашего индекса.php (или эквивалентный) файл:
opcache_reset();
Я не уверен, что это может быть использовано в производственных серверах, потому что может сделать приложение тяжелым.