我看到了关于这个主题的其他问题/答案,但似乎没有一个问题与我相同,所以我们开始:
我在尝试什么
我使用phpStorm8来开发PHP网站(在这个特定的案例中是CakePHP 2.5.1)。我的电脑上有一份网站的副本,在那里做任何更改,并通过集成的FTP工具将新版本上传到生产服务器。到目前为止,一切都很简单,没有任何问题。
现在我想开始使用Xdebug来调试使用生产服务器(PHP 5.3.28)的网站,所以我尝试使用phpStorm和Xdebug设置远程调试。
到目前为止我做了什么
我已经在生产服务器上安装了Xdebug 2.1.3,它似乎正在运行。为了测试我是否做了另一个SO问题中建议的事情,所有这些事情都有效。
php.ini
中的配置如下所示:
zend_extension="/usr/local/src/xdebug-2.1.0/modules/xdebug.so"
xdebug.profiler_enable='0'
xdebug.profiler_enable_trigger='1'
xdebug.profiler_output_dir='/home/username/debug'
xdebug.remote_enable='1'
xdebug.remote_connect_back ='1'
我没有设置remote_port
变量,因为我可以使用默认端口(9000)。此外,我没有设置remote_host
IP,因为我使用remote_connect_back
选项来允许多个IP,如本文所述。
我还尝试了两种不同的方法来设置这一切:
我遵循了这个零配置教程,但在步骤7中,我从未得到传入连接对话框。
我也遵循了这个不同的教程,但在将XDebug与PhpStorm集成的步骤中,我没有从调试器下拉列表中选择XDebug选项
我需要什么
如果有人能帮我弄清楚我错过了什么或做错了什么,那就太好了!
我本来会把它添加到注释中,但没有所需的rep。
您是否在项目中正确设置了首选项?您是否能够配置和验证部署服务器(在"部署"下)?
之后,在PHP>server下设置服务器,并对其进行验证。
不要忘记检查主机上的防火墙。
确保你可以让XDebug在没有PHPStorm的情况下工作,然后循环回来并集成它。
这些是php.ini设置,而不是驱动程序路径,我正在为CLI项目使用:
xdebug.remote_enable = 1
xdebug.remote_connect_back = 1
xdebug.remote_autostart = 1
xdebug.remote_host = 192.168.100.1
最重要的是,听听LazyOne。指定远程主机。不要在生产设备上运行调试器。花点时间学习虚拟机。我的建议是查看VirtualBox、Vagrant和SaltStack。这些工具一起使用将使您能够在尽可能接近生产的环境中调试代码,而不会增加调试工具带来的负担和风险。