linux调试php程序吗_在Linux上用xdebug调试PHP_Linux下安装xdebug扩展调试PHP

8f9956f2f9d50a9fbdcded214c745e95.gif

xdebug-preview

用了一款开源的php应用,在替换原有的memcache为memcacheD的过程中出现了一些问题。因为程序在linux server上,本地又没有php环境,没法很好的debug。于是各种搜下找到了xdebug.在笔者重装系统之前,曾经在windows下使用过xdebug,配合PHPStorm,很是方便。那么Linux下如何使用呢?

1. 下载xdebug: https://xdebug.org/download.php

2. 下载后编译,这里有两点要注意 a: xdebug需要phpize的支持,因为你要检测你是否已经安装了phpize。 b:编译时候除了–prefix还需要指定phpize的路径 –with-php-config=/path/to/php-config。 确定好了上述两点,编译之。

下面是我的编译过程:

./configure --enable-xdebug --with-php-config=/usr/local/php/bin/php-config

make -j4 && make install

1

2

./configure--enable-xdebug--with-php-config=/usr/local/php/bin/php-config

make-j4&&makeinstall

3. 编译后会告诉你生成的文件存储在哪里,找到它,在php中将其启用(我的生成路径在下面,让php启用xdebug扩展见下图)

/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so

1

/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so

efefb3058895dea27c874c61535f5833.pngxdebug

其中ext-xdebug.ini,是新创建的,内容如下:

zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so

xdebug.trace_output_dir = /tmp/logs ;这里就是xdebug的输出信息目录,不存在就创建一个,记得给写权限

xdebug.trace_output_name = trace.%c.%p

xdebug.collect_params = 4

xdebug.collect_includes = On

xdebug.collect_return = On

xdebug.show_mem_delta = On

1

2

3

4

5

6

7

zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so

xdebug.trace_output_dir=/tmp/logs;这里就是xdebug的输出信息目录,不存在就创建一个,记得给写权限

xdebug.trace_output_name=trace.%c.%p

xdebug.collect_params=4

xdebug.collect_includes=On

xdebug.collect_return=On

xdebug.show_mem_delta=On

4. 搞定后重启php-fpm,然后查看phpinfo()中是否已经启用了xdebug扩展,如果一切顺利,会看到下面这些内容

ed822ef86bd9cf931d30a9df87ad0cda.pngxdebug_phpinfo

5. 在需要调试的代码前后增加xdebug跟踪标记:

xdebug_start_trace();

#your code here1

#your code here2

#your code here3...

xdebug_stop_trace();

1

2

3

4

5

xdebug_start_trace();

#your code here1

#your code here2

#your code here3...

xdebug_stop_trace();

6. 至此运行你的代码,将会看到输入日志了(去/tmp/logs,你会看到类似下图这样的日志,vim or less一下寻找你碰到的问题根源吧。)

f22b0926e59a4e16471e027d3d29b06f.pngxdebug_logs

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统中使用宝塔面板进行xdebug调试,需要按照以下步骤进行配置: 1. 安装xdebug扩展:进入宝塔面板,在软件管理中找到并安装php-xdebug扩展。可以使用宝塔面板的软件管理工具安装,或者通过SSH命令进行安装。 2. 配置xdebug扩展:在宝塔面板中,进入网站设置,找到PHP配置选项。在PHP配置中的`xdebug`模块中进行配置,添加xdebug的配置信息,例如: ``` zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so" xdebug.remote_enable=On xdebug.remote_handler=dbgp xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_autostart=1 ``` 其中`zend_extension`是xdebug扩展的路径,根据实际情况进行修改。 3. 启用xdebug:在PHP配置中的`xdebug`模块中找到`enable`选项,将其设为启用状态。 4. 重启服务器:配置完成后,需要重启服务器使配置生效。在宝塔面板的首页,点击服务器管理,找到相应的服务器,点击重启。 5. 开启xdebug调试:在需要进行xdebug调试的代码前插入断点,然后进行代码调试。 6. 连接调试工具:使用开发工具(如PhpStorm、VSCode等)连接到宝塔面板的xdebug调试端口,默认是9000端口。 7. 开始调试:在开发工具中设置好断点,然后触发需要调试的代码,开发工具会自动停留在断点处,可以进行调试操作。 使用宝塔面板进行xdebug调试需要确保xdebug扩展正确安装和配置,并且开发工具能够与xdebug成功建立连接。通过这些步骤,可以在Linux系统上使用宝塔面板进行xdebug调试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值