环境:MAC + nginx(brew安装) +mysql5.7 +php7.2(brew安装)
1、安装XDebug扩展大多数人遇到的一个问题就是如何找对自己环境php匹配的XDebug版本,这个问题主要分成两个步骤:
(1)查找版本(google下) (2)下载对应版本https://xdebug.org/download.php
2、配置php.ini文件的XDebug模块
好了,完成步骤1,现在只需要再配置一下XDebug模块就安装完成了
XDebug主要配置的有下面的配置,当然你也可以另外添加更多的XDebug配置
[XDebug]
zend_extension = /usr/local/lib/php/pecl/20170718/xdebug.so ; 如果步骤1的第二个小步骤没进行的话,这里就要填全路径了
xdebug.remote_enable = 1 ;开启远程调试功能 xdebug.remote_autostart = 1 ;这个配置是比较重要的一个配置 xdebug.remote_handler = "dbgp" xdebug.remote_port = "9001" ;端口号,默认是9000,我的9000被占用! xdebug.remote_host = "127.0.0.1" ;远程调试的ip地址,即你自己的本机ip
在配置xdebug.remote_autostart = 1时这里遇到一个坑,就是XDebug的默认端口号是9000.如果不配置端口号使用默认端口号就会和nginx的端口号冲突,所以下面要配置一下端口号为9001,要不然会导致调试的时候假死的情况
配置完上面的配置,然后重启环境,然后再打印出phpinfo()的信息,然后搜索一下XDebug是否存在,如果存在那么就安装成功了。
3、vscode中安装插件: php debug,安装完然后去到调试页面,配置一下json文件,这里记得端口号要对应上面XDebug的9001端口:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9001
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9001
}
]
}
4、然后客户端打开对应的网页,比如:http://127.0.0.1:8080/site.php
5、在site.php中打好断点,然后运行Listen for xdebug,刷新网页即可追踪到断点对应的代码行
转载于:https://blog.51cto.com/13238147/2388390