xdebug无法使用WAMP绑定到端口9000

时间:2014-11-27 22:07:34

标签: php wamp xdebug

我正在跑步: WAMP服务器版本2.5 PHP版本5.5.12 Aparche 2.4.9 Mysql 5.6.17 Windows 7的 Xdebug 2.2.5

我已经使用他们在网站上提供的xdebug向导安装了推荐版本的xdebug并配置了我的php.ini文件,如下所示:

xdebug.remote_autostart=on
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_host= "localhost"
xdebug.remote_port=9000
xdebug.remote_mode=req
xdebug.idekey="netbeans-xdebug"
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "my path"
xdebug.show_local_vars=0

然后我尝试使用此处概述的方法测试xdebug:https://blogs.oracle.com/netbeansphp/entry/howto_check_xdebug_installation

它表示使用以下代码创建文件:

<?php
$address = '127.0.0.1';
$port = 9000;
$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_SESSION_START = mysession

我已经完成了,我收到以下错误消息:

Warning: socket_bind(): unable to bind address [10048]: Only one usage of each socket address     (protocol/network address/port) is normally permitted. in stuff.php on line 5
Call Stack
#   Time    Memory  Function    Location
1   0.0010  242312  {main}( )   ..\stuff.php:0
2   0.0010  242976  socket_bind ( ) ..\stuff.php:5
Unable to bind

所以我去命令提示符运行netstat -aon,发现pid为3300的进程正在监听0.0.0.0:9000。我检查了任务管理器,结果发现它是httpd.exe。我试图改变

xdebug.remote_port=10000

但我得到同样的信息。

我不确定如何从这里开始。

3 个答案:

答案 0 :(得分:0)

重启后问题似乎已经解决了。我不知道是什么修好了。

答案 1 :(得分:0)

我用一些命令创建了一个php文件,只是为了关闭套接字。然后我在另一个标签中打开它。所以我之前运行的选项卡(使用socket_listen)现在运行正常。试试吧。经过一些测试后,错误完全停止,但稍后再次出现。我认为这不是一个解决方案,但可以帮助理解问题。这是第二个文件的代码:

<?php
$address = '127.0.0.1'; 
$port = 9000;
$socks = socket_create(AF_INET, SOCK_STREAM, 0);
socket_close($socks);
?>

答案 2 :(得分:0)

我遇到了同样的问题,检查了php和xampp的版本就解决了:事实证明,xampp在64位计算机上安装了32位,我选择了错误版本的xdebug(它必须是32位)