Xdebug 已安装但似乎无法与 PhpStorm 一起使用
Xdebug is installed but does not seem to be working with PhpStorm
我下载了Xdebug好像安装好了,我的phpinfo()
里面有Xdebug,设置如下:
phpinfo() xdebug settings 2/2
我已经尝试添加参数 http://localhost/test.php?XDEBUG_SESSION=PHPSTORM
,并使用 Xdebug Chrome 扩展来更改 phpinfo() 中的 IDE KEY,但我仍然无法获取Xdebug 触发。
PhpStorm 正在侦听端口 9000,我已经使用 lsof -i :9000
确认了这一点,并且 Xdebug 也根据 phpinfo() 连接到本地主机 9000。
我不明白为什么 Xdebug 没有连接到 PhpStorm。如果您需要更多信息,请告诉我任何帮助。
编辑:
我试图将我的 xdebug 调试信息发送到日志文件,但是当我浏览到 php 页面时日志文件是空的。我知道错误日志设置正确,因为日志文件的路径显示在 phpinfo().
中
编辑:
我更改了调试日志的位置,这是针对一个请求的输出转储:
[21595] Log opened at 2019-11-27 15:57:20
[21595] I: Checking remote connect back address.
[21595] I: Checking header 'HTTP_X_FORWARDED_FOR'.
[21595] I: Checking header 'REMOTE_ADDR'.
[21595] I: Remote address found, connecting to ::1:9000.
[21595] W: Creating socket for '::1:9000', poll success, but error: Operation now in progress (19).
[21595] E: Could not connect to client. :-(
[21595] Log closed at 2019-11-27 15:57:20
第一步是为此类不成功的调试会话启用并收集 Xdebug 日志。如果它保持为空,请确保任何人都可以写入该文件,而不仅仅是当前用户(另外不要使用相对路径或 ~
)。这样的日志会告诉你发生了什么,并会提供关于之后要看什么的线索。
其他:
您启用了 xdebug.remote_connect_back
选项...忽略了 xdebug.remote_host
设置的值。它通常会选择正确的 IP,但最好在此处确定(Xdebug 日志会准确说明它检测到的内容)。
最好使用 IPv4 地址(即 127.0.0.1
而不是 localhost
),因为在某些系统上 IPv6 优先于 IPv4 和 Xdebug(或 PhpStorm)有一些问题IPv6(至少在某些系统上)。
使用端口 9001 或其他端口而不是默认的 9000 也是有意义的,因为 php-fpm 也默认使用该端口,您可能会在某个时候安装它。
我下载了Xdebug好像安装好了,我的phpinfo()
里面有Xdebug,设置如下:
我已经尝试添加参数 http://localhost/test.php?XDEBUG_SESSION=PHPSTORM
,并使用 Xdebug Chrome 扩展来更改 phpinfo() 中的 IDE KEY,但我仍然无法获取Xdebug 触发。
PhpStorm 正在侦听端口 9000,我已经使用 lsof -i :9000
确认了这一点,并且 Xdebug 也根据 phpinfo() 连接到本地主机 9000。
我不明白为什么 Xdebug 没有连接到 PhpStorm。如果您需要更多信息,请告诉我任何帮助。
编辑: 我试图将我的 xdebug 调试信息发送到日志文件,但是当我浏览到 php 页面时日志文件是空的。我知道错误日志设置正确,因为日志文件的路径显示在 phpinfo().
中编辑: 我更改了调试日志的位置,这是针对一个请求的输出转储:
[21595] Log opened at 2019-11-27 15:57:20
[21595] I: Checking remote connect back address.
[21595] I: Checking header 'HTTP_X_FORWARDED_FOR'.
[21595] I: Checking header 'REMOTE_ADDR'.
[21595] I: Remote address found, connecting to ::1:9000.
[21595] W: Creating socket for '::1:9000', poll success, but error: Operation now in progress (19).
[21595] E: Could not connect to client. :-(
[21595] Log closed at 2019-11-27 15:57:20
第一步是为此类不成功的调试会话启用并收集 Xdebug 日志。如果它保持为空,请确保任何人都可以写入该文件,而不仅仅是当前用户(另外不要使用相对路径或 ~
)。这样的日志会告诉你发生了什么,并会提供关于之后要看什么的线索。
其他:
您启用了
xdebug.remote_connect_back
选项...忽略了xdebug.remote_host
设置的值。它通常会选择正确的 IP,但最好在此处确定(Xdebug 日志会准确说明它检测到的内容)。最好使用 IPv4 地址(即
127.0.0.1
而不是localhost
),因为在某些系统上 IPv6 优先于 IPv4 和 Xdebug(或 PhpStorm)有一些问题IPv6(至少在某些系统上)。使用端口 9001 或其他端口而不是默认的 9000 也是有意义的,因为 php-fpm 也默认使用该端口,您可能会在某个时候安装它。