Estou tentando recompilar usando
php bin / magento setup: di: compile
Mas quando executo esse comando, recebo:
Erro fatal: Não é possível usar 'Void' como nome da classe, pois está reservado em /var/www/html/magento/vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/Void.php na linha 9
Estou executando o PHP 7.1.0-alpha.
magento2
php-7
setup-di-compile
G. Alex
fonte
fonte
Aqui está como corrigi-lo:
editar
vendor/magento/module-sales/etc/webapi.xml
linha 112:editar
vendor/magento/module-sales/Block/Adminhtml/Order/Invoice/View.php
linha 242:edite a
vendor/magento/module-sales/Block/Adminhtml/Order/Creditmemo/View.php
linha 183:editar
vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/Void.php
linha 9:edite a
vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/Void.php
linha 10:renomear
vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/Void.php
para
vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/VoidCreditmemo.php
renomear
vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/Void.php
para
vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/VoidInvoice.php
retirado de https://mage2.pro/t/topic/2433/2
fonte
Em vez de modificar os arquivos principais do fornecedor magento para resolver o problema, faria mais sentido usar a versão php correta. Dependendo do que você estiver usando, deve ser fácil definir uma configuração do BASH para um local específico do bin php.
fonte
Isso não é mais um problema para o Magento 2.2 - Magento 2.1 não era compatível com PHP7.1.
fonte