PHP调试环境不工作


PHP debug environment not working

我已经穷途末路了,真的需要一些帮助!

这是我的设置-

  • NGINX、PHP-FPM
  • Nginx-conf文件包含以下内容:

    location ~ .php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }

  • 位于/etc/PHP-FPM.d/www.conf的PHP-FPM conf文件具有以下内容listen=127.0.0.1:9000

通过以上配置,NGINX可以正确显示PHP页面。

现在,我想设置Xdebug。因此,我将以下内容添加到/etc/php.d/xdebug.ini文件中

<code>
zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=x.x.x.x
xdebug.remote_port=9009
xdebug.remote_autostart=1
</code>

请注意,远程端口设置为9009,与PHP-FPM端口9000不冲突。

在x.x.x.x机器上,XDebugClient正在运行,侦听端口9009上的传入连接。

接下来,我从主机x.x.x.x启动浏览器并请求URLhttp://y.y.y.y?XDEBUG_SESSION_START=1(其中y.y.y)是具有NGINX、PHP-FPM和XDebug设置的服务器。

问题是什么都没发生。XDebugClient从未获得连接!

我错过了什么?

检查的事项

  • 调出phpinfo()页面以确保php.ini文件配置正确。如果您没有看到一个长的xdebug部分,那么问题出在您的配置中
  • 尝试使用xdebug运行跟踪或配置文件。如果它们有效,那么xdebug模块本身就可以了
  • 请尝试在php.ini文件中设置xdebug.remote_connect_back=1。这将覆盖remote_host设置,如果问题与网络配置有关,则会有所帮助
  • 请确保您的IDE已设置为侦听端口9009上的连接。例如,在PHPStorm中,您必须将IDE配置为在自定义端口上侦听,然后在加载正在调试的页面之前,您必须按下按钮激活调试工具

这些是我已经经历了好几次的基本步骤。希望其中一个能有所帮助。