WordPress 调试 – PhpStorm

wordpress debug title

WordPress 调试用的前端 IDE 工具有很多,知名度比较高的有 Jetbrains 的 PhpStormZend StudioVisual Studio Code 等,本篇文章详细介绍如何配置 PhpStorm 以及 Xdebug 来做 WordPress 应用程序的调试。

首先介绍一下本例的系统调试环境,采用的是客户/服务器的方式,即 PhpStorm 在一台 Windows 的机器上(客户端),Web Server、Php 、Xdebug 和 WordPress 在另一台 Linux 的机器上(服务器端),也就是远程调试方案。

一、编译 Xdebug

官网下载 Xdebug,需要根据自己的 Php 版本下载相对应的源代码。

$cd xdebug
$phpize
$./configure –enable-xdebug
$make
$sudo make install

二、配置 Php 识别 Xdebug 扩展模块

php.ini 中加入下面的配置项,Xdebug 2.x 版本的配置稍有不同,请查阅官方的有关文档做修改。

[xdebug]
zend_extension = xdebug
xdebug.client_host = “phpstorm 所在机器ip地址,xdebug 客户端”
xdebug.mode = debug
;;配置 Xdebug 为 Just-In-Time (JIT) mode
xdebug.start_upon_error=yes
xdebug.discover_client_host=yes

修改完成后重启 php-fpm,然后检查一下 Xdebug 扩展模块是否正常加载。

#pkill php
#php-fpm
#php -m

xdebug

[Zend Modules]
Xdebug
Zend OPcache

三、配置 PhpStorm

1、远程 Php 解释器配置

(1)打开 PhpStorm 创建一个项目,名字可以叫 wordpress,然后 File 菜单选择 Settings (Ctrl+Alt+S),接着左边菜单选择 Tools->SSH Configurations,右边点 + 号增加一配置项,输入服务器端的地址、用户名和口令,最后测试一下是否能连通。

wordpress debug
wordpress 调试(图一)

(2)左边选择 PHP,右边第一项根据自己的 Php 版本选择;

(3)第二项点右边三个点的按钮,弹出的对话框中点 + 号,增加一配置项,起个名字,SSH configuration 选择第一步创建好的配置;General 部分选择服务器端 php 程序和配置文件(php.ini)所在位置。

wordpress debug
wordpress 调试(图二)

(4)第三项把本地项目根和远程的 wordpress 目录做一下关联。

wordpress debug
wordpress 调试(图三)
2、项目服务器端部署配置

本地对代码的修改可以同步到服务器端,服务器端代码的修改也可以下载到本地。

左边菜单选 Build, Execution, Deployment->Deployment,右边点 + 号选择部署用协议类型,包括 SFTP、FTP 等,选择 SFTP 即可。

wordpress debug
wordpress 调试(图四)

然后给服务器起个名字,比如叫 “wordpress”。连接配置中的 SSH configuration 选择已经创建好的;Root path 点 “自动检测” 按钮,可以根据自己的实际情况做相应的修改;Web server URL 就是访问 WordPress 时用的 URL。

勾选 Use Rsync 服务(提高数据传输效率),由于本地用的是 Windows,需要使用 Cygwin 中的相关程序(rsync 和 openssh),安装好后,选择 Tools->Rsync,设置 rsync 和 ssh 的本地安装目录即可。

wordpress debug
wordpress 调试(图五)

Mappings 配置,设置一下本地项目路径,服务器端 WordPress 部署路径和 Web 访问Url。

wordpress debug
wordpress 调试(图六)
3、本地 WordPress 项目和服务器端关联

(1)左边菜单选择 PHP->Servers,右边勾选 “Use path mappings”,输入本地项目的目录和服务器端 WordPress 所在目录的映射。

wordpress debug
wordpress 调试(图七)

(2)把服务器端的 WordPress 拷贝到本地项目对应的目录下(是 wp-content、wp-include、wp-admin 等这些内容)

4、激活PhpStorm 的 WordPress 集成服务

左边菜单 PHP->Frameworks,右边勾选 “Enable WordPress Integration”,再设置一下本地 WordPress 所在目录。

wordpress debug
wordpress 调试(图八)

四、校验 Debuger 配置

主菜单 Run->Start Listening for PHP Debug Connections 打开调试连接侦听。

主菜单 Run->Web Server Debug Validation,选择 Remote Web Server,校验脚本存放目录设置为本地项目目录,Deployment server 选择上面服务器端部署配置中的条目即可。

wordpress debug
wordpress 调试(图九)

点 Validate 按钮,校验结果不要有黄色叹号的提示,如有可根据提示信息修改,要保证两边的机器是连通的。没有问题就可以开始设断点调试了。

最后,在调试的过程中如果超时时间过短,浏览器会显示 504 错误,或者页面不存在的错误等,那么可以在 Web Server 配置中增加 FastCGI 有关超时时间的配置项,比如 Nginx 可以增加下面两项参数:

#单位秒
fastcgi_read_timeout = 120
fastcgi_send_timeout = 120

发表评论

邮箱地址不会被公开。 必填项已用*标注