设为首页 收藏本站
查看: 869|回复: 0

[经验分享] PHP调试环境

[复制链接]

尚未签到

发表于 2015-8-29 03:37:46 | 显示全部楼层 |阅读模式
  PHP调试总是那么让人觉得不满意,但还是要用呀:),就如xampp,LAMP,LNMP,等配置,总是随着版本升级有这样那样的变化,有空写一个通用的配置工具与大家共享,呵呵。
  
  Step 1:IDE选择
  由于以前用的工具太多,常会在eclipse中加载android,maven,j2ee,SSH,CXF等一系经工具,导致出现莫名其妙的问题。于是有了下面的建议:
  下载Eclipse for PHP Developers,地址 http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliossr2
  当然,你也可以选择去下载PDT插件,或直接从eclipse上安装这个插件。
  Step 2: debugger 选择
  有两个Debugger可以选择,Zend Debugger,另一个是Xdebug,当然由于Xdebug完全免费,下载简单。首先它,地址 http://xdebug.org/download.php
  下载时,要针对你所使用的平台下载对应的文件,如果在windows下,可以下载相应的binaries.也就是动态库,至于64位的问题,你一定要下载与你的PHP所使用的环境一致。比如,虽然你用的是windows 64操作系统,但使用的是32位的php编译版本,你也要使用对应的32位的xdebug.这个我在配置时,花了不少时间去解决这个问题
  Step 3: PHP与debugger整合
  解压xdebug,把得到的dll 放到你的Web 服务器所用的php相对应的扩展目录中,因为我常会在一台机器上有数十种开发环境,所以会遇到各样的问题,你在配置时一定放到你调试时所使用的php环境下。Eclipse for PHP自己并不带有php环境。具体方法就是:
  a,把php_xdebug-2.2.1-5.4-vc9.dll放到php的 ext目录下。
  b.修改php.ini 在文件后面加下如下:
  [Xdebug]
  zend_extension ="D:/Develop/Web/PHP549/ext/php_xdebug-2.2.1-5.4-vc9.dll" ;(路径根据自己情况设置)
  xdebug.auto_trace = On
  xdebug.show_exception_trace = On
  xdebug.remote_autostart =  On
  xdebug.remote_enable = On
  切记一点就是zend_extension这个指令的使用,在PHP5.3以前的版本,要根据PHP对线程的安全设置,或者根据DEBUG BUILD设置情况使用不同的zend_extension指令
  比如,如果PHP设置了线程安全,就要用zend_extension_ts =  ="D:/Develop/Web/PHP549/ext/php_xdebug-2.2.1-5.4-vc9.dll" 来代替zend_extension.否则就出错,而在PHP5.3以后的版本
  就不必这样麻烦了,都直接使用zend_extension而zend_extension_ts不再被使用。
  测试配置是否成功的方法很简单,启动web服务器,用phpinfo()打印php环境数据,如果看到Xdebug 一大堆的参数及参数值,你就成功了。如果没有,你就慢慢配置吧,如果遇到问题,你就要去读那些英文资料了。
  资料地址:http://www.eclipse.org/pdt/articles/debugger/os-php-eclipse-pdt-debug-pdf.pdf 如果不成功,就是你英文水平的问题了:)
  Step 4: 配置 PDT与xdebug进行整合。
  a. 打开eclipse for php developers中的Preferences->PHP->Executables. 加入第三方的PHP环境,就是我们刚才配置过的那个PHP目录(假设你有很多PHP环境的话,就要选对哟),这里Add后,主要是录入PHP executable path,就是PHP.exe或者php-cgi.exe,这是不同的php执行方式。选哪一个都一样。同时要选择debugger,你要选择xdebug.
  b. 打开eclipse for php developers中的Preferences->PHP->Debug ,在Default Setting中,PHP Debugger选择Xdebug, Server可以选择 Default PHP Web Server PHP Executable就选持刚刚加入的executable就可以了。
  Step 5: 进行初步脚本调试。
  经过以上的配置,就可以创建PHP项目,并对项目中的php进行脚本直接调试了。在项目上右键选择Debug as ->PHP Script进行调试,当在,这个Debug要配置一个Debug的Configuration.在这个调试configuration,中选择Alternate PHP 为刚才创建的 PHP 的Executable. 下面的PHP File就是选择你想单步调试的php文件即可。
  这里会有一个bug,就是本置完以上步聚时,一定要重启一下eclipse for PHP,不然会出现xdebug工作,但eclipse for PHP不显示调试过程的情况,即看不到断点是否被执行到。重启一下就ok.
  Step6: 进行远程Web调试
  在上面的基础之上,你要对Default PHP Web Server进行配置。主要是映谢URL到你的php文件。比如网站调试时,第一个是index.php在你的项目里是myproject/index.php,就要在web server的配置里的mapping里映射
  http://localhost/myproject  --------- myproject/ 这样在调试时访问http://localhost/myproject/时,就会映谢到你的index.php文件了。这里的更多细节就不想写了
  主要是理解调试的 原理:
  PHP Script 调试就是用第三方的PHP.exe来执行你的项目中的php文件,会通过xdebug把执行的过程信息通过9000网络端口传给你的eclipse for PHP.然后eclipse 把调试信息再传给xdebug.
  
  
  
  
  
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-105643-1-1.html 上篇帖子: 走进wordpress 详细说说template-loader.php 下篇帖子: php-与数据库对应实体类的命名
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表