使用PhpStorm+XDebug+Postman Remote Debug PHP
in Code-Audit with 0 comment

使用PhpStorm+XDebug+Postman Remote Debug PHP

in Code-Audit with 0 comment

调试php程序

调试php的时候一直是各种echodie,这种方法不是不行,但是太繁琐,不优雅。但是利用XDebug配置起来也略繁琐,在调试大量代码时有不可比拟的优越性。

获取PhpStorm

PhpStorm是JetBrains公司开发的一款商业PHP集成开发工具。可直接搜索在官网下载。
由于PhpStorm是收费版。自己使用MacOS sierra进行安装,网上搜了很久,很多破解方法已经失效。
激活PhpStorm的方式有

  1. 利用edu邮箱申请学生免费
  2. 利用Lisence key注册(大部分失效)
  3. 利用破解工具(存在安全性问题)
  4. 利用Lisence Sever破解

激活PhpStorm

使用Lisense Server(可自行搭建)
2018.04.08
选择License server激活,然后填入:http://im.js.cn:8888,然后点Activate激活即可
(只要是JetBains公司旗下的产品应该都可以激活)

PHP运行环境

这里使用XAMPP较新版本,自行直接在官网下载。

获取XDebug

这里记录Mac下的XDbug配置过程,Windows下大同小异。
由于XDebug与PHP的版本和运行环境密切相关,不同的版本可能无法调试,需要获取运行环境信息选择相应版本的Xdebug插件
将phpinfo()运行后的html源代码复制后粘贴在https://xdebug.org/wizard.php中,点击Analise my phpinfo() output系统会自动获取相关信息并提供一个最优配的Xdebug插件版本。
phpinfohtml.jpg.png
之后系统会告诉详细的安装步骤,按照步骤走即可。
xdebug-version.png

注意

mac系统自带php和XAMPP下的php不是同一个版本。这时如果按照指示例继续运行phpize后不会运行成功。Version不符合,因为运行的是系统自带php的phpize
phpize.png
正确的phpize路径在所安装XAMPP路径下
/Applications/XAMPP/bin/phpize
正确运行phpize:
切换到XDebug源码路径下执行
/Applications/XAMPP/bin/phpize
之后执行./configure时加上-with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config-7.1.2参数,不然不能生成makefile文件。
第七步权限不够,添加sudo
第八部编辑php.ini文件
zend_extension = /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so复制黏贴到文件最后一行

重启运行XAMPP
运行phpinfo如果看到XDebug插件激活即成功。
xdebug.png

使用PhpStorm下断点调试

Servers配置

macOS下,在PhpStorm--->Preforences-->Language & Frameworks-->PHP-->Servers 配置
Servers.png

配置端口号

在PhpStorm--->Preforences-->Language & Frameworks-->PHP-->Debug下配置端口号9000
debug.png

配置DBGp Proxy

在PhpStorm--->Preforences-->Language & Frameworks-->PHP-->Debug-->DBGp Proxy下配置IDE KEY等
proxy.png

配置调试PHP环境路径

在PhpStorm--->Preforences-->Language & Frameworks-->PHP 配置PHP运行环境,CLI Interpreter ,新建一个php环境路径.即让所调试程序在指定的php环境下执行而不是系统默认php环境。这里配置的是XAMPP的php路径。
interupt.png
php_in_xampp.png

配置Debug参数

在Run-->Edit Configrations 配置之前配置的Server,start url和调试浏览器参数。
config.png

修改php.ini文件

在php.ini配置文件中添加

[Xdebug]
zend_extension = /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so
xdebug.remote_enable =1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_mode = "req"
xdebug.remote_port = 9000

重启XAMPP,重启PhpStorm

调试PHP程序

基本配置结束,在程序中添加一个断点,点击PhpStorm右上角Debug按钮。自动弹出浏览器执行。程序停在断点处。鼠标悬停或console中可查看断点处变量值。默认使用fn+F7单步步入,fn+F8单步步过,fn+F9执行至下一断点。
main.png
debug-code.png

在Postman中调试PHP程序

Postman是一个优秀的接口测试工具,在进行REST风格接口进行测试时更为方便。
PhpStorm自动启动浏览器时会在URL后添加XDEBUG_SESSION_START参数,在Postman中调试PHP接口程序时只需将XDEBUG_SESSION_START=00000参数复制在Postman发送URL后即可。
postman-debug.png

参考链接

https://blog.csdn.net/coderDerek/article/details/75208418
https://www.cnblogs.com/LWMLWM/p/8251905.html
https://xdebug.org/wizard.php
https://www.cnblogs.com/hld123/p/6478473.html?utm_source=itdadao&utm_medium=referral

Responses