netbeans 在nginx php环境下调试程序不成功,php进程死掉,调试一直连接不上的解决方法!...

location ~ \.php$ {            
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

使用NetBeans结合xdebug调试nginx下的php程序
被这个问题搞的相当头大 个人一直认为任何事情一定有一个非常简单的解决办法 如果一个问题解决起来越来越复杂 那就是不是方法的问题 而是方向的问题
刚使用xdebug时就没有成功 暂时搁置了 今天特意再来看这个问题,终于很简单的得出解决办法
nginx下php的配置一般情况是这样的

这种配置要求你如此运行php php-cgi.exe -b 127.0.0.1:9000 -q 就是说nginx把对php的请求转发到127.0.0.1的9000端口去 而php正在9000端口等待 于是拿个正着 然后处理php请求

而xdebug呢?(这里暂且不说NetBeans了 因为在这个问题中NetBeans说不上是一个因素) 通常情况下你能找到的xdebug都是这样的

zend_extension_ts="path\to\php_xdebug-2.0.4-5.2.8.dll"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000

说明xdebug要去蹲在9000端口转发请求 开什么玩笑 php已经占据了9000端口
xdebug又要来占取9000还要跟php打招呼... 于是你就会发现xdebug会一直无反应,然后呢?php进程也崩溃了
这也就是NetBeans里一直停在netbeans-xdebug正在连接的原因 而解决办法呢?自然也就很简单了 在注册xdebug的时候把端口改成非9000 xdebug.remote_port=9001 简单吧。
可惜此前在baidu,google寻了大量的文章来解决这个问题 却没有发现任何的xdebug配置使用了非9000端口 真是相当让人崩溃 思维僵化

转载于:https://www.cnblogs.com/adu0409/articles/3376159.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值