使用PHPStorm+XDebug搭建单步调试环境
php是一个解释执行的语言,一般来说,进行调试的时候,只要通过使用 var_dump 或者 var_export 两个函数,就可以得到php中变量的值,达到调试的地步,但是对于大型项目,或者想研究一下别人的代码时,使用单步调试会变得简单的多。就拿目前最流行的 php laravel 框架为例子,使用 phpstorm 搭建单步调试环境。
phpstorm安装和基本配置
phpstorm下载安装
phpstorm除了体积有些大外,算是php ide中非常强大便捷的开发环境。官网下载地址:
本站下载地址
phpstorm激活
安装之后需要激活,如果经济能力许可,可以购买正版,当然,网上也有很多激活方式。这儿需要提醒的是,如果你激活不了,可是试试在 host 中添加下面这一行 0.0.0.0 account.jetbrains.com
phpstorm设置字体大小
打开phpstorm以后,可以在选择菜单 file -> settings -> editor -> colors & fonts -> font ,在右边显示的信息栏中设置自己习惯的字体和大小。
phpstorm导入项目
可以在phpstorm中选择:file -> open,直接打开工作文件夹,一般我喜欢把所有的php项目放在一个 php_projects 的文件夹下,然后统一打开,便于开发,一面频繁切换工作空间。
phpstorm标记项目位置
一般情况下,打开的文件夹下面会有很多项目,我们需要标记这些项目,这样能够提供更好的索引和代码之间关联。
菜单选择:file -> settings -> directories,然后把每个项目的根目录标记为 sources。
安装xdebug扩展
下载xdebug扩展
为了调试php,我们还需要一个php扩展:xdebug,这是一个非常强大的php调试扩展,用来最终php执行过程,执行堆栈等。xdebug官方下载地址:,点击每个版本说明中的 download 连接即可进入下载页面,注意这儿需要选择适合自己系统版本和php版本的xdebug扩展。
配置xdebug扩展
下载之后解压缩,里面包含一个 dll 格式或者 so 格式的动态链接库,我们把它放在php安装目录的ext文件夹下,然后配置php.ini。需要在php最后添加xdebug的配置。
[xdebug] zend_extension="c:\devlope\wamp\php7.16\ext\php_xdebug-2.5.5-7.1-vc14-x86_64.dll" xdebug.remote_enable=1 xdebug.remote_autostart=1 xdebug.remote_port=9000 # 开启所有站点xdebug调试 xdebug.remote_connect_back=1
首先进行简单的配置,xdebug的配置非常丰富,详细可以查看官方配置说明文档:,配置完成之后,需要保存,然后重启服务器(apache或者nginx),然后在 phpinfo(); 中检查是否安装成功。
phpstorm运行调试配置
phpstorm服务器配置
如果跳过这一步,则下一步就需要手动添加服务器。如果在这儿配置了服务器,就可以在下一步中直接选择。
phpstorm选择菜单:file -> settings -> language & frameworks -> php -> servers,点击那个绿色的 + 可以添加一个服务器配置,可以配置服务器的主机地址,端口一击调试器,详细可以参考下一步的截图。
phpstorm运行项目配置
phpstorm选择菜单:run -> edit configurations;点击左上角的 + 添加配置,在候选框中选择 php web application,然后点击添加一个php项目实例。填写右边的相关信息,start url 为你的项目的访问地址,这个是需要在你的服务器(apache或者nginx)中配置的。server哪儿点击右边的三个点,可以添加一个服务器实例,注意填写的host需要相同。
phpstorm调试配置
phpstorm选择菜单:file -> settings -> language & frameworks -> php -> debug,点击debug这一项,可以看到debug的配置,一般这儿不用修改,只需要注意debug port需要和你在php.ini中配置的port一致,并且勾选can accept external connections。
phpstorm进行单步调试
一切就绪,接下来就是单步调试了。可以通过点击phpstorm中代码左边的位置设置断点,现在我们可以在 laravel 网站根目录 public 下的 index.php 开头设置一个断点,然后选择phpstorm菜单:run -> debug "alaim" 进行调试,可以看到phpstorm底部的信息框中答应出了所有变量的值。
f8:单步,不跳入函数
f7:执行跳指令,跳入函数
shift+f8:跳出函数
alt+9:运行到指针处
上一篇: 《古刹──姑苏游痕之一》王统照
推荐阅读
-
使用PHPStorm+XDebug搭建单步调试环境
-
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
-
使用ngrok+express解决本地环境中微信接口调试问题
-
详解使用docker搭建kafka环境
-
Centos服务器上NFS灾备环境及KVM的搭建及使用
-
PySpark与GraphFrames的安装与使用环境搭建过程
-
PySpark与GraphFrames的安装与使用环境搭建过程
-
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
-
使用Nginx搭建图片服务器(windows环境下)
-
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建