ubuntu禁用debug_Xdebug停止工作,我在哪里寻找错误?

问题描述

我安装了Xdebug并且一切都很好,直到它突然停止工作. phpinfo()为所有变量提供了一个很好的XDebug输出。

php -m | grep deb

还提供两次XDebug(对于Zend和PHP),所以再次看起来很好。我的php.ini有这些行:

zend_extension=/usr/lib/php5/20090626/xdebug.so

;extension=xdebug.so

xdebug.remote_host=localhost

xdebug.remote_enable=on

xdebug.remote_port=9001

xdebug.remote_handler=dbgp

xdebug.remote_connect_back=1

然而,当运行此代码时,应检查XDebug(来自Netbeans文档),它只是卡住了。所以没有IDE正在使用XDebug。

$address = '127.0.0.1';

$port = 9001;

$sock = socket_create(AF_INET, SOCK_STREAM, 0);

socket_bind($sock, $address, $port) or die('Unable to bind');

socket_listen($sock);

$client = socket_accept($sock);

echo "connection established: $client";

socket_close($client);

socket_close($sock);

另外,根据XDebug的安装,我走了两步。我的配置有什么问题?谢谢。

最佳解决办法

最后,只剩下两个解决方案 – 重新安装Ubuntu操作系统或安装一个新的VM特别是xdebug,我要去第二个。有趣的是,一切都按照”RTM”(f = freaking)工作。我无法弄清楚的一件事是如何读取XDebug的日志以了解真正的问题所在。

UPDATE

经过一番挣扎,我从每个php.ini中删除了与xdebug相关的每一行。并将这些行移至/etc/php5/conf.d/xdebug.ini。重启Apache,然后PHPStorm,它的工作原理。附:在中间,我尝试使用pecl,github和标准的Ubuntu版本安装xdebug。我认为我编译的那个目前正在工作。并且……日志也会更新。

;xdebug configuration

zend_extension = /usr/lib/php5/20090626/xdebug.so

xdebug.remote_host = 127.0.0.1

xdebug.remote_enable = 1

xdebug.remote_port = 9000

xdebug.remote_handler = dbgp

xdebug.remote_mode = req

xdebug.profiler_enable=0

xdebug.profiler_enable_trigger=1

xdebug.remote_autostart=1

xdebug.idekey=PHPSTORM

xdebug.remote_log="/tmp/xdebug.log"

次佳解决办法

在您的服务器上,尝试以下命令:

$ netstat -anp | grep CLOSE_WAIT

任何:9000个条目会给你XDebug麻烦;考虑kill -9 。

第三种解决办法

更新php后,我在Ubuntu上也遇到了这个问题。对我来说,打开php.ini中的html错误让xbebug再次与Netbeans一起工作……

sudo vi /etc/php5/apache2/php.ini

display_errors = On

html_errors = On

并重启apache:

sudo /etc/init.d/apache2 restart

参考资料

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值