安装php的模块Xdebug - youngperson/study-100 GitHub Wiki
安装
# wget https://xdebug.org/files/xdebug-2.4.0.tgz
# tar zxvf xdebug-2.4.0.tgz
# cd xdebug-2.4.0
# /usr/bin/phpize ./configure --with-php-config=/usr/bin/php-config
# make
# make install
配置php.ini
[Xdebug]
zend_extension=xdebug.so
xdebug.profiler_enable = On ;临时跟踪信息输出
xdebug.trace_output_dir="/tmp/xdebug" ;xdebug 的数据文件目录,注意该目录的权限
xdebug.trace_output_name="xdebug-trace.log"
xdebug.profiler_output_dir="/tmp/xdebug" ;xdebug 的数据文件目录,注意该目录的权限
xdebug.profiler_output_name="xdebug-profiler.log"
xdebug.auto_trace = On ;开启自动跟踪,每访问一次url都会产生日志文件,如果没有产生请设置下文件权限
xdebug.show_exception_trace = On ;开启异常跟踪
xdebug.remote_autostart = On ;开启远程调试自动启动
xdebug.remote_enable = On ;开启远程调试[ 允许远程IDE调试 ]
xdebug.remote_host=127.0.0.1 ;允许连接的zend studio的ip地址
xdebug.remote_port=9000 ;反向连接zend studio使用的端口
xdebug.collect_vars = On ;收集变量
xdebug.collect_return = On ;收集返回值
xdebug.collect_params = On ;收集参数
xdebug.show_local_vars = on ;显示局部变量
xdebug.default_enable = On ;显示默认的错误信息
xdebug.remote_handler=dbgp ;用于zend studio远程调试的应用层通信协议
xdebugbug.max_nesting_level = 10000 ;如果设得太小,函数中有递归调用自身次数太多时会报超过最大嵌套数错
重启php-fpm
# ps -ef | grep php-fpm
# kill 进程号
# /usr/sbin/php-fpm &
测试
在phpinfo里查看是否有xdebug模块,或者
# /usr/bin/php -m | grep xdebug
应用
查看xdebug模块有哪些可用函数,放入实际项目中进行使用。 分析产生的日志文件可以结合工具xdebug+webgrind
<?php
//phpinfo();
echo '<pre>';
print_r(get_extension_funcs("xdebug"));