Я пытаюсь перекомпилировать используя
php bin / magento setup: di: compile
Но когда я запускаю эту команду, я получаю:
Неустранимая ошибка: невозможно использовать «Void» в качестве имени класса, поскольку оно зарезервировано в /var/www/html/magento/vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/Void.php в строке 9
Я использую PHP 7.1.0-alpha.
magento2
php-7
setup-di-compile
Г. Алекс
источник
источник
Вот как это исправить:
vendor/magento/module-sales/etc/webapi.xml
строка редактирования 112:vendor/magento/module-sales/Block/Adminhtml/Order/Invoice/View.php
строка редактирования 242:vendor/magento/module-sales/Block/Adminhtml/Order/Creditmemo/View.php
строка редактирования 183:редактировать
vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/Void.php
строку 9:отредактируйте
vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/Void.php
строку 10:переименование
vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/Void.php
в
vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/VoidCreditmemo.php
переименование
vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/Void.php
в
vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/VoidInvoice.php
взято с https://mage2.pro/t/topic/2433/2
источник
Вместо того, чтобы изменять основные файлы magento vendor для решения проблемы, было бы более разумно использовать правильную версию php. В зависимости от того, что вы используете, должно быть достаточно легко установить конфигурацию BASH для определенного местоположения php bin.
источник
Это больше не проблема для Magento 2.2 - Magento 2.1 не был совместим с PHP7.1.
источник