教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境

简介:

现在大多数的程序员使用的调试方式一般都是echo,var_dump,file_put_contents等其他方式,效率比较低下,因此我们有必要学习用工具进行调试,工具调试主要可以用来解决以下问题:

1.审核系统性能

以前在一家公司维护过一个大型商城,全站页面全部能访问正常,就一个点赞的活动页面非常卡,点进去要20多秒才能完全打开,虽然里面有几百万数据,其他页面根本不会出现这么长时间加载问题,开始我们完全不清楚是什么问题,后来使用xdebug步步跟进,发现一条SQL语句居然执行了20多秒,原因是跨表不合理,修改之后,速度只需要0.5秒就能打开了。

2.解决疑难杂症

线下培训的学生毕业后,有个同学被隐式转换的数据类型浪费了一天时间,后来叫他用Xdebug跟踪,几分钟就定位到问题所在。

3.熟练掌握系统运行流程

通过断点结合单步,步入,步过等方式,可以对程序流程有个非常清楚直观的感受。程序在每一步的变化,从而达到全面分析系统流程的目的。

4.其他方面的应用

  • 搭建调试环境的具体步骤如下:
  • phpstorm版本:PhpStorm-2016.2.1
  • wamp版本:2.5,自带xdebug

第一步:把下面的xdebug配置放在php.ini文件中

根据自己的机器实际情况修改路径


 
 
  1. ; XDEBUG Extension  
  2. zend_extension = "e:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11.dll";[xdebug]  
  3. xdebug.remote_enable = off  
  4. xdebug.profiler_enable = off  
  5. xdebug.profiler_enable_trigger = off  
  6. xdebug.profiler_output_name = cachegrind.out.%t.%p  
  7. xdebug.profiler_output_dir = "e:/wamp/tmp"  
  8. xdebug.show_local_vars=0  
  9. xdebug.idekey=PhpStorm  
  10. xdebug.remote_enable = On  
  11. xdebug.remote_host=localhost  
  12. xdebug.remote_port=9000  
  13. xdebug.remote_handler=dbgp 

第二步:判断xdebug是否加载,可以打印phpinfo()函数 进行查看。

第三步: 配置phpstorm编辑器中相关配置

File->Settings->Languages&Frame Works->Php->Interpreter 选择web服务器套件中php.exe的路径。

第四步:File->Settings->Languages&Frame Works->Php->Servers 配置服务器相关设置:


 
 
  1. Name:localhost  
  2. Host:localhost  
  3. Port:80  
  4. Debugger: Xdebug 

教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境

第五步:File->Settings->Languages&Frame Works->Php->Debug->DBGp Proxy 配置相关设置:


 
 
  1. Ide key: phpstorm 这个值是php.ini中那个xdebug那段ide key的值  
  2. host: localhost  
  3. port: 80 

教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境

第六步:File->Settings->Languages&Frame Works->Php-Debug 找到右边窗口对应的debug设置,把端口改成9000

教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境

第七步:安装谷歌浏览器的Xdebug扩展

教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境

第八步:

1、开启phpstorm的监听按钮

教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境

2、开启浏览器右上角的监听按钮,允许debug

3、在文件中设置断点

4、在浏览器中运行程序之后 就会把程序断在第三步设定的断点下,再之后就可以单步,步入,跳过等等方式来调试程序。


作者:吴华

来源:51CTO

相关文章
|
2月前
|
IDE 安全 网络安全
Xdebug 在不同版本的 PHP 中配置方法有什么不同?
Xdebug 在不同版本的 PHP 中配置方法有什么不同?
150 4
|
2月前
|
监控 IDE PHP
php xdebug的配置、调试、跟踪、调优、分析
php xdebug的配置、调试、跟踪、调优、分析
|
3月前
|
关系型数据库 MySQL 应用服务中间件
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
这篇文章介绍了如何在Windows 7系统上搭建PHP、MySQL和Apache环境,并部署ECShop项目,包括安装配置步骤、解决常见问题以及使用XAMPP集成环境的替代方案。
54 1
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
|
2月前
|
SQL 安全 JavaScript
在多用户环境中,如何确保 PHP Shell 的安全性?
在多用户环境中,如何确保 PHP Shell 的安全性?
|
2月前
|
测试技术 PHP 数据库
PHP中的异常处理与错误调试
【9月更文挑战第17天】在PHP编程中,遇到问题和错误是在所难免的。了解如何正确处理这些异常,并有效地进行错误调试,是提升代码质量和开发效率的关键。本文将引导你理解PHP中的异常处理机制,并通过实际代码示例,展示如何捕捉、处理异常以及进行错误调试,帮助你构建更健壮的应用程序。
|
3月前
|
应用服务中间件 Linux 网络安全
【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
|
3月前
|
Linux PHP
【Azure 应用服务】PHP项目部署到App Service for Linux环境中,如何修改上传文件大小的限制呢?
【Azure 应用服务】PHP项目部署到App Service for Linux环境中,如何修改上传文件大小的限制呢?
|
3月前
|
应用服务中间件 Linux PHP
Linux搭建tengine2.0<Nginx>+php7环境
本文介绍了在Linux系统上搭建Tengine 2.0(一个Nginx的增强版本)和PHP 7环境的详细步骤,包括创建安装目录、下载源码包及依赖库、编译安装Nginx、配置Nginx、安装PHP及其依赖、设置PHP-FPM、配置环境变量、安装Git和Composer,以及服务管理和日志查看等。
85 0
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
2月前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。
124 9