脚本宝典收集整理的这篇文章主要介绍了用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
本人主要是做ASP.NET开发的,但有时候也会接触到PHP,而且我认为PHP有很多源码值得学习,我们不是学习PHP代码的写法,而是学习源码的实现思路,或者免强叫为算法。
作为一名非专业的PHP开发者,想要较方便地读懂并搞清楚一个PHP功能模块的运行细节,搭建一个PHP调试环境,然后单步调试程序,以掌握程序的整个运行过程显的尤为重要。
一、 准备安装文件
现在要把文件夹中的X_X_x_comp文件夹重命名为PHP-X.X.x,比如将“5_2_x_comp”重命名为“PHP-5.2.x”,因为我的测试环境都是PHP5.2的,所以我可以只改“5_2_x_comp”这一个文件夹。这里的改动是为了等一下在PHP.ini中配置它。
现在去PHP安装目录修改PHP配置文件,这个文件通常被命名为“PHP.ini”,让服务器能正确加载我们的模块。但是这个PHPNow环境下的PHP配置文件不叫“PHP.ini”,而是“PHP-apache2handler.ini”,我们怎么可以知道当前WEB服务器所用PHP的配置文件名呢。下面就是一个办法:在“D:\soft\PHP\htdocs”目录,建立一个PHPinfo.PHP文件,并在其中输入内容“”,然后打开浏览器可以看到如下信息,反白显示路径就是当前PHP配置文件所在路径了:
修改“D:\soft\PHP\PHP-5.2.9-2-Win32\PHP-apache2handler.ini”文件。用记事本打开该文件,移动侧栏滚动条至最底部,在文档尾部可以发现以下配置节点:
在其尾部追加:
zend_extension_manager.debug_server_ts="D:\soft\PHP\ZendDebugger"
zend_debugger.allow_hosts=127.0.0.1/32,192.168.0.8/24
zend_debugger.expose_remotely=always
最终应该像这样:
(1);zend_extension_ts="D:\soft\PHP\ZendDebugger\5_2_x_comp\ZendDebugger.dll"这是我注释的,因为这样设置zend_extension_ts重复,出现不能与ZendOptimizer共存情况。
(2)、zend_extension_manager.debug_server_ts="D:\soft\PHP\ZendDebugger",这里指到目录就行了,PHP会自动根据自己版本去下面找PHP_X_X_X这样文件夹下面的dll文件,这也是上面我们为什么要对ZendDebugger下面子目录改名的原因。
(3)、zend_debugger.allow_hosts=127.0.0.1/32,192.168.0.8/24,这里后面的192.168.0.8改成你自己的IP就行了,可以像下面那样查看到自己的IP地址:
后面的“32”,“24”不用改,它们不是目录名,而是子网掩码类型代号,“32”代表“255.255.255.255”,“24”代表“255.255.255.0”。
在浏览器打开:http://127.0.0.1/PHPinfo.PHP,如果能看到如下信息则表明安装成功,注意看最后一行“wITh Zend Debugger v5.2.14,Copyright (c) 1999-2008,by Zend TechnoLOGies”。回到http://127.0.0.1/我们发现组件支持框里Zend Optimizer支持情况还是“Yes”的,说明我们Zend Debugger与Zend Optimizer是共存运行的(网上提供好些教程是不共存运行的,那样不够完美)。
找到后用记事本打开,找到:
把上面的en改成zh并保存,然后把这个文件标记为“只读”( Zend Studio在特定的时候自动重启会改回默认设置,设成“只读”它就无能为力了)。另外像下面的编码选项也可根据实际情况修改:
比如可以改为
从“开始菜单”找到“Zend Development environment(Zend Studio)”并运行它。新建一个项目,并在这个项目中引入一个开发好的源码包,我这里的源码包在“D:\soft\PHP\htdocs\CMS”,这cms是SuPESite7.0程序,在新建项目的调试选项里设置成像下图,其中Debug Server URL也可以是127.0.0.1这样的地址,只要几处设置同步就行:
现在检查一下:
成功的话将显示“已与Debug Server成功连接。”对话框。
打开SupeSite7.0源码项目,选择Zend Studio内置浏览器,并在地址栏里输入:http://127.0.0.1/cms/ batch.seArch.PHP,这里我演示SupeSite7.0的搜索页代码调试。现在你直接按浏览器最左边的“介壳虫”按钮(从旁边倒三角可以选择不同的调试范围),直接进入batch.search.PHP页面调试(如果batch.search.PHP页之前不在编辑状态,即没有打开过,直接调试会自动打开,另外如果你用F11逐语句执行的话,当前调试页包含的外部代码文件也会被打开。
按调试按钮后,直接转到源码,光标定位在第一个语句了(这里我没有设置断点,并以F5方式调试程序),像下面那样:
现在我们测试一下点击一个按钮提交表单值并捕获它。像下图那样,点“搜索”按钮后看关键字“What is CMS ?”是被如何处理的。你操作顺序必须像这样:打开http://127.0.0.1/cms/batch.search.PHP—>输入关键字“What is CMS ?”—>点击“搜索”按钮—>点击浏览器工具栏的“介壳虫”按钮。
调试后我们可以看到“What is CMS ?”是用什么变量存储并被处理的。如下图:
至此,整个Zend Studio+PHPNow+Zend Debugger服务器调试环境搭建完毕,并演示了使用方法。
以上是脚本宝典为你收集整理的用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤全部内容,希望文章能够帮你解决用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。