我希望使用不同计算机的团队能够在远程服务器上调试PHP ,但我很难让Xdebug在NetBeans 7.0.1中工作.我尝试过很多在线提示,但无济于事.
为了记录,我已在运行WampServer的Windows 7计算机上本地成功安装了Xdebug .所以我可以在NetBeans中使用断点调试PHP,前提是我将Project Properties-> Run Configuration-> Run As属性设置为Local Web Site.但是,如上所述,我的目标是在远程Web站点上的NetBeans中进行调试.
我的服务器是Ubuntu 11.04机器.我使用http://www.xdebug.org/find-binary.php的输出将适当的二进制文件放在机器上.我已经修改了php.ini我能找到的所有文件(在php5/apache2和php5/cli目录中)以包含这些行:
zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
Run Code Online (Sandbox Code Playgroud)
如果我查看phpinfo.php网页,它会说:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with Xdebug v2.1.2, Copyright (c) 2002-2011, by Derick Rethans
Run Code Online (Sandbox Code Playgroud)
所以Xdebug似乎确实安装得很好.不过,当我在NetBeans中尝试调试时,我会收到无休止的状态栏消息Waiting For Connection(netbeans-xdebug).当我按下停止按钮时,我得到xdebug的X连接未在X秒内被检测到.原因可能是未安装或未正确配置xdebug.
也许我在这里混淆了服务器设置的本地设置?一个帖子说, …
我有一台带有 apache2 和 php7 的计算机,我将php.ini其设置为使用 xdebug 并且可以,我可以使用编辑器进行调试。
但是我想在另一台只有php的计算机上调试。
我使用以下方法启动服务器: php -S localhost:8080
我尝试使用相同的php.ini,但似乎 php 内置的网络服务器无法理解php.ini
我使用了命令: php -S localhost:8080 -c <<path to my php.ini>>
这里是 apache 服务器的 phpinfo 输出:
这里是内置网络服务器的输出: