微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

docker容器中安装PHP xdebug扩展

Xdebug是PHP的扩展,用于协助调试和开发。它包含一个用于IDE 的单步调试器 ; 它升级PHP的var_dump()函数; 它为通知,警告,错误和例外添加了堆栈跟踪 ; 它具有记录每个函数调用和磁盘变量赋值的功能 ; 它包含一个分析器 ; 它提供了与PHPUnit一起使用的代码覆盖功能

安装

1.确定PHP版本

     通过PHPinfo()即可确定

2.首先将打印PHPinfo源代码复制后粘贴到https://xdebug.org/wizard.PHP查询对应的xdebug版本

3.下载 wget http://xdebug.org/files/xdebug-2.7.2.tgz(根据自己的版本下载xdebug包)

以下皆为docker xxxx容器中操作

1.下载

wget http://xdebug.org/files/xdebug-2.7.2.tgz

2.解压并进入xdebug目录

tar zvxf xdebug-2.7.2.tgz 
cd xdebug-2.7.2

3.编译并生成so文件

PHPize                          # 生成configure文件
./configure                     # 配置
make && make install            # 编译并生成

现在/usr/local/lib/PHP/extensions/no-debug-non-zts-20170718/已经有xdebug.so文件

4.在容器环境的配置目录下新增配置文件/usr/local/etc/PHP/conf.d/xdebug.ini  配置文件内容如下:

zend_extension="xdebug.so"
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_name = callgrind.out.%t.%p
xdebug.profiler_output_dir ="/app/xdebug/profile_output"
xdebug.auto_trace = 0
xdebug.show_local_vars=0
xdebug.var_display_max_children=128 
xdebug.var_display_max_data=512 
xdebug.var_display_max_depth=5
xdebug.collect_params=1    
xdebug.collect_return=1     
xdebug.remote_autostart=0
xdebug.remote_enable=true
xdebug.remote_host=host.docker.internal   
xdebug.remote_port=9010
xdebug.remote_handler =dbgp
xdebug.remote_log="/app/xdebug/xdebug.log"
xdebug.trace_enable_trigger = 1
xdebug.trace_output_dir = "/app/xdebug/trace_output"
;xdebug.overload_var_dump = 0

配置项说明:

是否开启自动跟踪

xdebug.auto_trace = On

是否开启异常跟踪

xdebug.show_exception_trace = On

是否开启远程调试自动启动

xdebug.remote_autostart = On

是否开启远程调试

xdebug.remote_enable = On

允许调试的客户端IP

xdebug.remote_host=192.168.1.107(这里使用host.docker.internal动态获取宿主机ip)

远程调试的端口(认9000)

xdebug.remote_port=9000

调试插件dbgp

xdebug.remote_handler=dbgp

是否收集变量

xdebug.collect_vars = On

是否收集返回值

xdebug.collect_return = On

是否收集参数

xdebug.collect_params = On

跟踪输出路径

xdebug.trace_output_dir="d:\xdebug_trace"

是否开启调试内容

xdebug.profiler_enable=On

调试输出路径

xdebug.profiler_output_dir="d:\xdebug_error"

5.退出容器、重启docker容器 

exit
docker restart xxxx

6.通过PHPinfo()查看是否成功加载xdebug.so

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐