本文解决如下问题:在zend studio里面下断点然后调试运行(debug as php web application),却发现网站正常跑起来了,断点根本就没生效。
断点不生效,主要原因是调试器没有配置好。
其实zend studio已经自带了zenddebugger调试器,并且已经跟内置的php cli环境集成好了。但是要调试我们自己安装的web server + php程序,还得做额外的配置工作。
修改 php.ini,加入 zend_extension 等设置项
在 php.ini 末尾加入以下设置项:
zend_extension = c:\program files\zend\zend studio 12.5.1\plugins\com.zend.php.debug.debugger.php56.win32_12.5.0.v20150415-1131\resources\php56\zenddebugger.dllzend_debugger.allow_hosts = 127.0.0.1
其中 zend_extension 的值,是 zend debugger 插件的全路径文件名,位于 zend studio 安装目录内,自行搜索 zenddebugger.dll 即可找到。
注意这个dll在zend安装目录内有两份,一个是针对php 5.6的,另一个是针对php5.5的,需选择跟自己的php安装版本一致的那一份。(zend官方网站也有提供zend debugger单独下载。)
修改完 php.ini 文件并存盘后,请重启php(php-cgi、php-fpm等,或web server),确保 php.ini 被重新加载。
注意:zenddebugger是vc11 nts版本(non thread safe),必须跟nts版本的php配合使用。也就是说,ts版本的php是不能使用zenddebugger的(加载失败)。参见php官方网站关于ts和nts版本的说明。
在 web server 的 root 目录内放置 dummy.php
在 ngninx 文档根目录 html 内创建文件 dummy.php,内容如下:
php web application 并确认,就启动了调试进程。调试器会在第一行php代码处中断,也可用快捷键 ctrl + shift + b 设置其他断点,f8继续运行,断点处按预期中断运行,就说明上文配置成功啦。
版权声明:本文为博主liigo原创,未经授权不得转载。
以上就介绍了在 zend studio 125 里下断点调试运行 php 源代码,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。