Xdebug in Vagrant laravel/homestead V0.4.0 / v3.0.1


Xdebug in Vagrant laravel/homestead V0.4.0 / v3.0.1

我设置了一个流浪箱laravel/homestv0.4.0。
我使用composer安装了homestV3.0.1
最后我运行了"流浪者向上"answers"流浪者ssh",我在Homestead VM中,但是

它应该包括Xdebug,但它没有
当我运行phpinfo()时,没有Xdebug信息
同样在/etc/php/7.0/fpm/php.iniconfig.d文件夹中,也没有Xdebug的配置。

我的最终目标是能够使用Netbeans IDE调试laravel项目。该项目是在Home地虚拟机中运行的,但我一直在理解为什么在Home地的虚拟机中没有Xdebug。如有任何帮助,我们将不胜感激

只需在您的家园中运行即可

php -v
sudo phpenmod xdebug
sudo service nginx restart

编辑:从0.4.1版本开始,XDebug被放回Homestead。应该不再需要从源代码编译XDebug


~/.homestead目录中,应该有一个名为after.sh的文件。这将为您提供一种方法,您可以在Homestead provisioner完成后执行自己的命令。

将以下内容复制并粘贴到after.sh文件中:

#!/bin/sh
# Install Xdebug
git clone git://github.com/xdebug/xdebug.git
cd xdebug
phpize
./configure --enable-xdebug
make
make install
# Configure Xdebug
cat > /etc/php/mods-available/xdebug.ini <<EOL
zend_extension=xdebug.so
xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_autostart=1
xdebug.remote_connect_back=1
EOL
ln -s /etc/php/mods-available/xdebug.ini /etc/php/7.0/fpm/conf.d/20-xdebug.ini
service php7.0-fpm restart

完成后,运行vagrant destroyvagrant up,或运行vagrant provision以确保shell命令正确执行。

这个版本的XDebug是GithubMaster分支的直接克隆这个分支被认为是不稳定的一旦Xdebug github帐户为2.4或2.5添加了分支,请确保在运行各种配置和make命令之前更新shell命令以签出该分支。

此外,我只是将Xdebug添加到FPM配置中我不会将其添加到CLI配置中。您可能只会在phpinfo()调用中看到Xdebug,而不会在php -i调用中看到。

除此之外,我在自己的环境中进行了测试:

  • Homestead box版本0.4
  • Github克隆laravel/homes 3.0.1
  • PHPStorm IDE

一切似乎都如预期的那样运转。如果这有帮助,请告诉我。

这就是你在~/.houster/after.sh:中所需要的一切

#!/bin/sh
# If you would like to do some extra provisioning you may
# add any commands you wish to this file and they will
# be run after the Homestead machine is provisioned.
apt-get install php-xdebug