我想从NetBeans 7.1调试PHP.我的Web服务器是IIS.
我首先发现NetBeans尝试使用XDebug,下载它,将DLL复制到适当的文件夹.现在我想知道如何正确配置它.
online php config analyser给了我以下建议:
- Download php_xdebug-2.1.4-5.3-vc9-nts.dll
- Move the downloaded file to C:\Program Files\PHP\v5.3\ext
- Edit C:\Program Files\PHP\v5.3\php.ini and add the line
- zend_extension = C:\Program Files\PHP\v5.3\ext\php_xdebug-2.1.4-5.3-vc9-nts.dll
Restart the webserver
好的,一切都很清楚,除了在php.ini的哪个部分放线.我有点怀疑.
另一方面,Netbeans抱怨说:
No connection from xdebug was detected within 224 seconds. The reasons
could be that xdebug is not installed or not properly configured. Be
sure that your php.ini file contains these entries:xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost (or hostname)
xdebug.remote_port=9000
再次,在php.ini的哪一部分放这些行?
解决方法:
您可以将xdebug行添加到最有可能的php ini文件中的任何位置.要检查xdebug是否正确安装,请检查phpinfo函数和debugclient.您可以在xdebug主页上获取debugclient:http://xdebug.org/docs/install.当您使用开关-i 9000 -r 9000启动它时,它应该连接到xdebug,之后您可以使用netstat -an验证它. grep 9000.然后你可以加载一个示例网页并查看debugclient的输出.以防万一检查你的xdebug日志.当它与debugclient一起使用时,你有一个很好的证明,你可以使它适用于你的IDE.这对我有很大帮助:http://forums.netbeans.org/topic1513-30.html.如果xdebug正在侦听端口9000,你也可以检查这个脚本:
<?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);
?>
它对我不起作用但尝试一下?
我在我的虚拟机上有lighttpd和xdebug,我在远程服务器上使用了反向shell.我使用Komodo IDE.