我有一个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
有什么想法可能会出错?
答案 0 :(得分:0)
所以我能够弄清楚这一点。我还需要将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进行更改并逐个测试。但是现在问题已经解决了...... :)