我有一台运行Apache和PHP7的Ubuntu服务器,安装了Xdebug,并在phpinfo()中进行了确认:
xdebug
xdebug support enabled
Version 2.6.0
IDE Key PHPSTORM
我的PhpStorm在另一台Mac上运行。 Web服务器正在正常运行。如果我从PhpStorm调试PHP脚本,调试也可以正常工作。但是,如果我在PhpStorm中的代码中添加断点并从Web浏览器运行PHP,则调试器似乎无能为力。我的代码就执行了。 PhpStorm不在我设置的断点处开始调试。
如果我有意向我的PHP代码中添加了一个错误,则从输出中可以看到Xdebug在服务器上做某事,该错误将显示在xdebug-error表中。
在Ubuntu服务器上正确的PHP.ini中,我设置了正确的设置:
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_autostart=1
xdebug.remote_host=192.168.0.130
所以:
/volumes/internet
-> /var/www
)我想让我的断点正常工作,我在做什么错了?
答案 0 :(得分:3)
xdebug.remote_host
不应设置为正在运行XDebug的计算机的IP,而应将其设置为正在运行PHPStorm的计算机!
另一个选择是将xdebug.remote_connect_back
设置为true
。启用此功能后,xdebug.remote_host
设置将被忽略,Xdebug将尝试连接到发出HTTP请求的客户端。它检查$_SERVER['HTTP_X_FORWARDED_FOR']
和$_SERVER['REMOTE_ADDR']
变量以找出要使用的IP地址。 (tutorial (pdf))