一、下载xdebug,适合自己版本的
https://xdebug.org/download.php,你需要仔细分析和选择要下载的对应版本,否则无法调试。
建议进入网页 https://xdebug.org/wizard.php,然后将自己phpinfo()输出的信息全复制拷贝
到该网页信息框里,让xdebug官方系统为你选择合适的版本。
二、安装xdebug
wget https://xdebug.org/files/xdebug-2.9.7 .tgz
tar zxvf xdebug-2.9.7 .tgz
cd xdebug-2.9.7
/usr/local/php7.3/bin/phpize
./configure --enable-xdebug --with-php-config=/usr/local/php7.3/bin/php-config
make && make install
cd /usr/local/php7.3/etc/
三、vi php.ini 粘贴以下内容到尾部
[xdebug]
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_connect_back=0
xdebug.remote_host=erp.dev.com #此处一定要和自己本地域名一致
xdebug.remote_port=9003 #端口,9002-9010 随意选一个,只要别被其他应用端口占用即可
xdebug.remote_log=/tmp/xdebug.log
xdebug.idekey=PHPSTORM #和PHPSTORM一致
xdebug.auto_trace=1
xdebug.remote_handler=dbgp
xdebug.remote_cookie_expire_time = 3600
四、php.ini搜到以下字段,修改时间为3600秒,避免调试的时候超时
max_execution_time=3600
max_input_time=3600
default_socket_timeout = 3600
五、开始进入PHPSTORM配置
1.配置servers
2.配置dockerdestop
3.配置PHP
4.检查配置是否正确
四、开始调试使用
浏览器访问:http://erp.dev.com/?XDEBUG_SESSION_START=10699 一定要带这个session——start
五。常见问题:
1.xdebug的端口是否和php(fastcgi_pass 127.0.0.1:9000)端口一致?
无关,可以一致,可以不一致
2.xdebug的时候必须php走ip形式吗?
fastcgi_pass unix:/tmp/php-cgi7.3.sock;
fastcgi_pass 127.0.0.1:9000
无关,两种PHP方式都可以
3.http://xdebug.dev.com/a.php?XDEBUG_SESSION_START=id(id为PHPstorm监听后下面的id)
每次调试都要带这个id吗 不用,第一次带下就好了
4.浏览器必须要安装xdebug插件吗?不用
5.浏览器第一次访问域名,却没有跳转到调试怎么办?
url中要携带XDEBUG_SESSION_START=id,id为phpstorm监听显示的id
6.安装了xdebug后无法,phpstorm仍然无法调试怎么办?
清空/tmp/php-fpm.sock 然后重新启动服务
7.xdebug可以打开多个phpstorm项目一起调试吗
可以
8.如何使用xdebug调试呢?
run to cursor
step into
step over
force step into
step out
9.xdebug不生效怎么办?
核实xdebug.remote_host=192.168.33.1 是否和访问网站域名一致