`

php 断点调试工具配置之故障排除

 
阅读更多

故障排除

本节介绍了对调试器和相关文件进行故障排除时所需的过程和技术。

查找正确的 php.ini 文件

在配置 PHP 以使用调试器扩展时 — XDebug 或 Zend Debugger — 需要确保您编辑的是正确的 php.ini 文件并且具有正确的调试器变量zend_extension。要查找 PHP 安装使用的 php.ini 文件的完整路径,使用 Web 目录下一个简单脚本中的phpinfo()函数。


清单 10. 简单的 phpinfo.php 基本

                    
<?php
    phpinfo();
?>

 

另一种办法是输入命令php -i | grep "Loaded Conf",您将获得类似Loaded Configuration File => /usr/local/php5/lib/php.ini的结果。

 

使用正确的zend_extension指令

确定了需要编辑的 php.ini 文件之后,现在需要获得正确的zend_extension指令进行安装。再次使用phpinfo()php -i方法查找两个值:Thread SafetyDebug Build。表 1 可以帮助您确定使用哪一个。一个常见的错误是在需要使用zend_exention_ts的时候使用了zend_extension,并且这个错误很难发现。


表 1. 选择正确的配置键

键名 线程安全性 调试 zend_extension zend_extension_ts zend_extension_debug zend_extension_debug_ts
关闭 关闭
开启 关闭
关闭 开启
开启 开启
 

调试器没有停止

如果调试器根本没有停止,有可能出现了以下三个问题中的一个:

  • 第一个问题是没有正确设置扩展模块(参见 “使用正确的zend_extension指令” 查找可能的原因)。
  • 如果检验扩展已经正确设置,那么可能没有对 PDT 进行设置,因此无法使用已安装的调试器。如果选择了 Zend Debugger 作为 PHP 可执行文件的调试器,但是在 php.ini 文件中设置的是 XDebug,则会得到一些意外的结果。
  • 还有可能是防火墙问题。确定在 PHP Debugger 首选项中配置了防火墙允许的端口(如果安装并运行了防火墙的话)。
 

判断扩展目录的位置

要把 XDebug 或 Zend Debugger 扩展二进制文件安装到其他所有扩展的位置,使用phpinfo()php -i查找目录的位置。查看清单 11 中php -i命令的示例。


清单 11. 查找扩展目录

                    
...
extension_dir => /usr/local/php5/lib/php/extensions/
...
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics