今天想装个xdebug试一下,由于以前都是用echo print exit之类的测试;php
进官网https://xdebug.org/download.php下载sourcenginx
也能够直接 wget https://xdebug.org/files/xdebug-2.5.5.tgz服务器
接着解压 tar zxvf xdebug-2.1.0.tgz 测试
运行 phpizespa
编译 ./configure --enable-xdebug debug
make server
编译安装完成后会有一个 modules文件夹rem
注意:问题来了,按照网上的说法get
cp modules/xdebug.so /你的php目录/xdebug it
而后在php.ini里(php.ini文件的位置经过phpinfo()能够看到)
在配置最后加上
[Xdebug]
zend_extension =" 刚刚复制xdebug.so的目录/xdebug.so"
xdebug.profiler_enable=on
xdebug.trace_output_dir="/alidata/server/php/xdebug/"
xdebug.profiler_output_dir="/alidata/server/php/xdebug/"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
;xdebug.remote_host=localhost
;xdebug.remote_port=9999
到了这块,按照网上别人的说法,修改后,重启nginx,一直没有效果,反复对照路径是否错了,配置是否错了,发现都没问题,折腾了好久,都没有效果。
无奈之际在 phpinfo()里看到 extension_dir(个人是/xxx/server/php/lib/php/extensions/no-debug-non-zts-20121212/) ,才想到,可能和网上那几个帖子说的 复制 xdebug.so到文件夹那块有问题吧,难道根本就不能手动复制到随意的目录再指定?到extension_dir指定的目录下一看,已经有xdebug.so了,
也许刚刚编译的时候自动复制进这个指定的文件夹来了,都不用手动cp了,直接在配置里 zend_extension = 'xdebug.so' ,重启,果真有效果了
多是由于服务器的软件版本和安装参数不同,致使这个地方和别人的不同,因此参照网上的帖子时,要学会灵活的变更。
ps:而后关于php.ini修改后是否配置有误,能够用下面这个试一下
php -i | grep "php.ini"