我已经穷途末路了,真的需要一些帮助!
这是我的设置-
- 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配置为在自定义端口上侦听,然后在加载正在调试的页面之前,您必须按下按钮激活调试工具
这些是我已经经历了好几次的基本步骤。希望其中一个能有所帮助。