使用MacOS Sierra,PhpStorm和Xdebug,在端口80上配置Web应用程序(不从PhpStorm运行)。
当浏览到192.168.1.2/index.php
时,PhpStorm不会在断点处停止,当访问外部IP localhost
时,PhpStorm会遇到断点。
我想使用localhost
进行调试而不是外部IP。
有没有办法让PhpStorm与[xdebug]
zend_extension = /usr/local/Cellar/php56/5.6.29_5/lib/php/extensions/debug-non-zts-20131226/xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_port=9000
xdebug.remote_autostart=1
xdebug.remote_connect_back=1
xdebug.idekey=vagrant
xdebug.remote_host=0.0.0.0
一起使用?
P.S。 Visual Studio Code适用于两种情况(因此我相信Xdebug和PhpStorm运行良好)。
Log opened at 2017-01-03 14:06:36
I: Checking remote connect back address.
I: Checking header 'HTTP_X_FORWARDED_FOR'.
I: Checking header 'REMOTE_ADDR'.
I: Remote address found, connecting to ::1:9000.
W: Creating socket for '::1:9000', poll success, but error: Operation now in progress (19).
E: Could not connect to client. :-(
Log closed at 2017-01-03 14:06:36
尝试将 xdebug.remote_host 设置为 127.0.0.1 和 localhost ,行为相同。
调试localhost:80时,xdebug log show:
I: Connected to client. :-)
使用VS Code时,没有错误,xdebug显示realloc
答案 0 :(得分:9)
将FS
设置为0(默认值)解决了问题。
如果启用,则忽略xdebug.remote_host设置,Xdebug将设置 尝试连接到发出HTTP请求的客户端。它会检查 $ _SERVER ['HTTP_X_FORWARDED_FOR']和$ _SERVER ['REMOTE_ADDR']变量 找出要使用的IP地址。
当Xdebug尝试连接到localhost时,它使用了PhpStorm不支持的TCPv6。
将xdebug.remote_connect_back
更改为0会导致Xdebug使用remote_connect_back
值,使用PhpStorm支持的TCPv4。