У меня есть vagrantfile, который я использую, чтобы открыть окно Ubuntu, и я определил подготовку php следующим образом:
config.vm.provision "shell", inline: "sudo apt-get -y install php5 php5-dev php5-curl php5-imagick php5-gd php5-mcrypt php5-mhash php5-mysql php5-xdebug php5-intl php5-xsl"config.vm.provision "shell", inline: "sudo php5enmod mcrypt"config.vm.provision "shell", inline: "echo \"xdebug.max_nesting_level=200\" >> /etc/php5/apache2/php.ini"config.vm.provision "shell", inline: "sudo apt-get -y install phpunit"
Я также вижу, что это действительно обновляет файл php.ini на созданной коробке.
Несмотря на весь этот набор, я не понимаю, почему я все еще получаю эту ошибку:
==> default: PHP Fatal error: Maximum function nesting level of '100' reached, aborting! in /vagrant-B05032-Magento-Box/vendor/magento/framework/Code/Reader/ClassReader.php on line 59
==> default: PHP Stack trace:
==> default: PHP 1. {main}() /vagrant-B05032-Magento-Box/bin/magento:0
==> default: PHP 2. Symfony\Component\Console\Application->run() /vagrant-B05032-Magento-Box/bin/magento:25
==> default: PHP 3. Magento\Framework\Console\Cli->doRun() /vagrant-B05032-Magento-Box/vendor/symfony/console/Symfony/Component/Console/Application.php:126
Есть мысли, что тут может быть не так?
Так что я смог понять это. Мне нужно было добавить max_nesting_level к этим двум файлам.
config.vm.provision "shell", inline: "echo \"xdebug.max_nesting_level=1000\" >> /etc/php5/apache2/conf.d/20-xdebug.ini"config.vm.provision "shell", inline: "echo \"xdebug.max_nesting_level=1000\" >> /etc/php5/mods-available/xdebug.ini"
Я уверен, что в конце концов один из этих параметров фактически используется, не уверен, какой именно. Может быть, я внесу изменения в Vagrantfile и протестирую его один за другим. Но пока проблема решена … 🙂
Других решений пока нет …