加入收藏 | 设为首页 | 会员中心 | 我要投稿 阜阳站长网 (https://www.0558zz.com/)- 科技、建站、内容创作、云计算、网络安全!
当前位置: 首页 > 运营中心 > Nginx > 正文

调试 – nginx php-fpm xdebug netbeans只能启动一个调试会话

发布时间:2020-12-15 15:12:25 所属栏目:Nginx 来源:互联网
导读:在过去,我使用apache mod_php xdebug netbeans进行开发我的网站(服务器是我的本地机器,运行Debian Squeeze),很高兴 - xdebug工作正常,调试会话可以随时启动和停止,当我需要时它.但是,当我转移到nginx php_fpm xdebug netbeans时,我遇到了一些调试问题.我的调

在过去,我使用apache mod_php xdebug netbeans进行开发我的网站(服务器是我的本地机器,运行Debian Squeeze),很高兴 – xdebug工作正常,调试会话可以随时启动和停止,当我需要时它.但是,当我转移到nginx php_fpm xdebug netbeans时,我遇到了一些调试问题.

>我的调试会话可能会很长(超过30秒),似乎nginx无法等待这么久,它显示“504网关超时错误”.我已经尝试了很多解决这个问题的建议,但没有运气.虽然,这对我来说不是很重要,因为调试会话本身继续运行,这只是一个有点不舒服的事情.
>我的调试会话只能运行一次,因此,如果我停止它,并尝试再次启动调试,netbeans无法接受来自xdebug的连接(它写入“等待xdebug连接”并且它是永远的).重新启动netbeans后,可以再次正常启动调试会话.
>在我遇到的情况下,我无法理解,调试是“打开所有php脚本”并阻止其他任何脚本运行.例如,我在我的网站http://mysite.local/index.php上启动调试会话并使用它.过了一段时间,我注意到,我的adminer(放在intranet.local / adminer.php上)没有运行,浏览器尝试加载页面一段时间,而不是显示“504网关超时错误”.如果我看到这种行为,我可以在netbeans中停止xdebug调试会话,并且所有其他脚本开始正常运行.

现在,当我写这个问题时,我做了一些调查,发现,如果我启动调试会话几秒钟,之后停止它,然后重新开始 – 它会正常启动.似乎问题出现在一段时间的主动调试之后.

我的系统和应用:
Debian挤压:2.6.32-5-686
Nginx:1.4.1(来自dotdeb存储库)
php5-fpm:5.3.26-1~d(来自dotdeb存储库)
php5-xdebug:5.3.26-1~d(来自dotdeb存储库)
netbeans:7.3

我的配置:

> nginx base config:https://gist.github.com/MihanEntalpo/6229801
> nginx网站配置文件:https://gist.github.com/MihanEntalpo/6229781
> fastcgi_params文件:https://gist.github.com/MihanEntalpo/d93fd4105573e1eda56f
> php-fpm pool配置文件:https://gist.github.com/MihanEntalpo/6229820
> php-fpm xdebug配置文件:https://gist.github.com/MihanEntalpo/6229836
> netbeans:options,与apache服务器完全相同:

>第一行中断= OFF
>弹出窗口中的评估= ON
>显示请求URL = ON
>端口= 9000

记录在nginx的错误日志文件中,当它无法等待被调试的脚本时,或者由问题#3锁定的其他脚本,提前提到:

2013/08/14 14:40:16 [错误] 4822#0:* 111上游超时(110:连接超时)从上游读取响应头,客户端:192.168.100.1,服务器:intranet.local,请求: “GET /adminer.php?username=rootu0026amp;db=develu0026amp;table=user HTTP / 1.1”,上游:“fastcgi://127.0.0.1:9999”,主机:“intranet.local”,引荐来源:“https://intranet.local/adminer.php?username=root&db=devel”

php-fpm的日志不包含任何错误消息……

我不喜欢用我的问题打扰任何人,并且总是试图自己解决它.但是在这种情况下,我正在与这些人争斗一段时间没有运气……
如果有人遇到这个问题,或者有使用nginx php-fpm xdebug netbeans的工作配置 – 请帮帮我:) 最佳答案 谢谢大家,他们试图从我的问题的方向思考.
我已经成功解决了.

>第一个问题(504错误)可以通过nginx选项fastcgi_read_timeout来解决,例如,它可以是fastcgi_read_timeout 600;告诉nginx它应该等待600秒.它应该放在主机的配置文件中,或者放在/ etc / nginx / fastcgi_params中(在Debian中)
>第二个问题是由我的xdebug.conf中的选项引起的:xdebug.remote_autostart = 1;,它应该是xdebug.remote_autostart = 0;.我不明白这个选项的真正含义,但它确实如下:任何PHP脚本自动尝试连接到调试器(在我的情况下是netbeans).因此,在某些情况下,netbeans失去连接,当我按下“开始调试”时,它不知道,应该打开新连接,并永远等待xdebug客户端.现在,通过上述选项,我可以在需要时随时启动和停止调试.
>第三个问题与第二个问题具有相同的来源.在我的服务器上运行的所有其他脚本都试图连接到netbeans,但是由于连接丢失,它是毫无意义的.

无论如何,我希望这会帮助那些想要解决类似问题的人. StackOverflow通过强迫我明确地描述我的问题来帮助我,并且在这个过程中我获得了关于尝试什么的新想法.

(编辑:阜阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读