PHP调试器xdebug


使用yum安装xdebug

yum install php-xdebug

使用源码安装xdebug

找开链接http://xdebug.org/wizard.php将phpinfo.html源码复制到输入框中

// 找出正在使用的php配置文件
php -i | grep php.ini
vim /etc/opt/remi/php73/php.ini
// 输出php相关配置信息
cd /usr/share/nginx/html
php -r 'echo phpinfo();'>phpinfo.html
php -i > phpinfo.html
// 下载xdebug
wget http://xdebug.org/files/xdebug-3.0.4.tgz
// 解压
tar -xvzf xdebug-3.0.4.tgz
cd xdebug-3.0.4
// 安装phpize模块
dnf --enablerepo=PowerTools install libedit-devel
yum install php73-php-devel -y
link /opt/remi/php73/root/usr/bin/phpize /usr/bin/phpize
link /opt/remi/php73/root/usr/bin/php-config /usr/bin/php-config
// 向php添加扩展
phpize
// 运行配置
./configure
// 安装make模块
yum -y install gcc automake autoconf libtool make
// 安装c编译器
yum -y install gcc gcc-c++
// 编译
make
// 复制扩展到php扩展目录
cp modules/xdebug.so /opt/remi/php73/root/usr/lib64/php/modules
// 修改配置文件
vim /etc/opt/remi/php73/php.ini
// 重启一下php服务
systemctl restart php73-php-fpm.service

/etc/opt/remi/php73/php.ini末尾(vim:shift+G)添加xdebug配置块

[xdebug]
zend_extension = /opt/remi/php73/root/usr/lib64/php/modules/xdebug.so

xdebug.so: undefined symbol: gc_globals

// 目前它只支持php72的扩展安装
yum install php-devel
// 安装时会出现如下提示:
Enabling module streams:
nginx => 1.14                                                                                                        
php => 7.2

mac使用brew配置debug

php -i | grep php.ini
vim /usr/local/etc/php/7.1/php.ini
打开链接“http://xdebug.org/wizard.php”
将phpinfo()的源代码复制到文本框中,xdebug会提示如何配置和下载哪个版本的xdebug
brew install wget 
wget http://xdebug.org/files/xdebug-2.6.0.tgz
brew install autoconf
phpize
./configure
make
cp modules/xdebug.so /usr/local/lib/php/pecl/20160303
vim /usr/local/etc/php/7.1/php.ini

[xdebug]
zend_extension = /usr/local/lib/php/pecl/20160303/xdebug.so
xdebug.remote_enable = On
xdebug.remote_port = 9001
xdebug.idekey = PHPSTORM

php -v
php -m | grep xdebug
echo phpinfo(); // 查看前台页面有没有xdebug
brew services restart php@7.1

// 注意
在终端执行php -v时并不会发生变化。
退出终端后再执行php -v就会出现php7.1。

phpstorm配置xdebug

// 修改配置文件
vim /etc/opt/remi/php73/php.ini
[xdebug]
zend_extension = /opt/remi/php73/root/usr/lib64/php/modules/xdebug.so
; 远程调试
xdebug.remote_enable = On
; 调试协议
xdebug.remote_handler = "dbgp"
; 远程主机
xdebug.remote_host = "127.0.0.1"
; 监听端口
xdebug.remote_port = 9001
; 身份标识
xdebug.idekey = PHPSTORM
Preferences | Languages & Frameworks | PHP | Debug
// 将debug port改成9001