Estoy tratando de volver a compilar usando
php bin / magento setup: di: compile
Pero cuando ejecuto este comando, obtengo:
Error grave: no se puede usar 'Void' como nombre de clase, ya que está reservado en /var/www/html/magento/vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/Void.php en la línea 9
Estoy ejecutando PHP 7.1.0-alpha.
magento2
php-7
setup-di-compile
G. Alex
fuente
fuente
Aquí se explica cómo solucionarlo:
editar
vendor/magento/module-sales/etc/webapi.xml
línea 112:editar
vendor/magento/module-sales/Block/Adminhtml/Order/Invoice/View.php
línea 242:editar
vendor/magento/module-sales/Block/Adminhtml/Order/Creditmemo/View.php
línea 183:editar
vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/Void.php
línea 9:editar
vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/Void.php
línea 10:rebautizar
vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/Void.php
a
vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/VoidCreditmemo.php
rebautizar
vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/Void.php
a
vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/VoidInvoice.php
tomado de https://mage2.pro/t/topic/2433/2
fuente
En lugar de modificar los archivos principales del proveedor de magento para resolver el problema, tendría más sentido usar la versión de php correcta. Dependiendo de lo que esté utilizando, debería ser bastante fácil establecer una configuración de BASH para una ubicación particular de bin php.
fuente
Esto ya no es un problema para Magento 2.2: Magento 2.1 no era compatible con PHP7.1.
fuente