首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置XDebug for PHP

配置XDebug for PHP
EN

Stack Overflow用户
提问于 2012-05-01 18:52:30
回答 5查看 10.5K关注 0票数 3

我想从NetBeans 7.1中调试PHP。我的web服务器是IIS。我首先发现NetBeans尝试使用XDebug,下载它,将DLL复制到适当的文件夹中。现在我想知道如何正确地配置它。

联机php配置分析器给了我以下建议:

  1. 下载php_xdebug-2.1.45.3-vc9-nts.dll
  2. 将下载的文件移动到C:\Program \PHP\v5.3\ext
  3. 编辑C:\ProgramFiles\PHP\v5.3\php.ini并添加行
  4. Files\PHP\v5.3\ext\php_xdebug-2.1.4-5.3-vc9-nts.dll = C:\Program zend_extension

重新启动the服务器

好的,一切都很清楚,除了在php.ini的哪个部分放置行。我很怀疑。

另一方面,Netbeans抱怨:

在224秒内没有检测到来自xdebug的连接。其原因可能是xdebug没有安装或配置不正确。确保您的php.ini文件包含以下条目: xdebug.remote_enable=on xdebug.remote_handler=dbgp xdebug.remote_host=localhost (或主机名) xdebug.remote_port=9000

再次指出,在php.ini的哪个部分中放置了这些行()

EN

回答 5

Stack Overflow用户

发布于 2012-05-01 19:23:20

您可以在php文件的末尾向任何地方添加xdebug行。要检查是否正确安装了xdebug,请检查phpinfo函数和调试客户端。您可以在xdebug主页:http://xdebug.org/docs/install上获得调试客户端。当您用-i 9000 -r 9000开关启动它时,它应该在之后连接到xdebug,然后您可以使用netstat -an _ grep 9000验证它。然后,您可以加载一个示例网页并查看调试客户端的输出。以防万一,检查您的xdebug日志。当它与调试器客户端一起工作时,您就有了一个很好的证明,并且可以让它与您的IDE一起工作。这对我很有帮助:http://forums.netbeans.org/topic1513-30.html。如果xdebug侦听端口9000,也可以检查此脚本:

代码语言:javascript
复制
<?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。

票数 2
EN

Stack Overflow用户

发布于 2012-05-01 19:28:56

您可以在文件中的任何位置添加它。如果您搜索“扩展名”、".so“或".dll”,我相信您将在php.ini文件中找到一个示例。我对Windows并不太熟悉,但是在linux上,在终端中输入"php -m“就会列出所有当前加载的模块。Xdebug应该列出两次,一次在PHP下,一次在Zend下。

示例

代码语言:javascript
复制
; php -m

输出..。

代码语言:javascript
复制
[PHP Modules]
mysql
mysqli
curl
xdebug

[Zend Modules]
xdebug

为了帮助您完成这一任务,您可以检查以下几点:在网页上输出phpinfo(),并检查正在编辑的php.ini是否正在加载。它列在“默认配置文件”下

同样在您重新启动服务器之后。检查服务器日志以确保配置文件中没有任何错误。

我在Netbeans中运行了xDebug,但我不使用它们在错误消息中提供的配置。我只在我的.ini文件中添加了一行:

代码语言:javascript
复制
zend_extension=<path_to_extension>/xdebug.so

Zend扩展(至少在我的安装程序中是这样)需要一个完整的路径,因此检查路径是否满(看起来像您的路径),并且它是正确的。

您还可以尝试将扩展放在phpinfo中列出的默认扩展文件夹"extension_dir“下。

票数 2
EN

Stack Overflow用户

发布于 2014-03-09 12:39:41

我有一个类似的问题,并偶然发现了一个帖子来解决这个问题。我的html表单(testform.html)正在调用一个php脚本(runQuery.php),Netbeans无法在设置的断点处中断。

在php.ini和Netbeans中的所有配置设置通过在类似于此的论坛上搜索之后,我发现netbeans只有在项目的索引文件是php.ini时才会中断断点。这是非常重要的,否则你将花费数小时试图找出为什么断点不起作用。

在Netbeans中,进入file /Properties/,检查Index文件是否是PHP文件。在我的例子中,我将我的索引文件从testform.html更改为testform.php,它起作用了,我能够在断点上中断。

亚萨。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10402629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档