linux php 断点调试,PHP断点调试工具Xdebug的安装

Xdebug是一个PHP程序调试器,可以用来跟踪,调试和分析PHP程序的运行状况。其实调试PHP还有其他工具比如Zend Debugger,但zend官方不是免费发布的,后来更新为zend Server也是收费版。而Xdebug是完全免费的并且功能也不差。其实xdebug可以看做PHP的扩展,如果环境中没有集成需要先在官网下载然后安装,下载地址:https://xdebug.org/download.php。下面说一下安装方式:

1.在windows下的安装方式,在windows安装时下载需要注意除了下载的扩展和PHP版本一致外还应该查看一下PHP是TS(Thread-Safety)即线程安全还是NTS(None-Thread Safe)即非线程安全,可以通过查看phpinfo内容确定是哪一种。找到phpinfo中的PHP Extension Build这一项,如下图:

1d3781c988ffeb9cdd2927bd2644967e.png

下载完成后将dll文件放到php的安装目录下,为了统一可以放到ext目录下,也可以重命名一下,然后再php.ini中加入如下代码(具体可根据调试场景进行修改)

[Xdebug]

zend_extension="扩展的绝对路径"xdebug.collect_params= 1xdebug.collect_return= 1xdebug.auto_trace= 0xdebug.profiler_enable= 0xdebug.max_nesting_level= 1000000xdebug.remote_enable= 1xdebug.remote_host=localhost

xdebug.remote_port= 9999xdebug.remote_handler=dbgp

xdebug.idekey= netbeans-xdebug

以上代码主要适合本地调试的场景,如果是局域网内多人远程调试可以添加xdebug.remote_connect_back =1或者根据具体的调试场景进行修改。重启apache或者php-fpm之后使配置文件生效可以再phpinfo中查看到如下图所示:

3f43b4e38f77c3d5f86cbf8665c57ef2.png

2.linux下安装xdebug的方式

首先也需要在官网下载xdebug,下载source即可,然后解压后进入解压后的目录然后按如下步骤执行:

/PHP的安装目录/bin/phpize

./configure --with-php-config=/PHP的安装目录/bin/php-configmake

make install

执行成功后会显示一个带extensions的目录,记下这个目录,这个目录中会包含xdebug.so,然后和windows一样修改php.ini加入相同代码(除了扩展目录和文件名不同),重启php-fpm即可生效。

特别提示:不管是Windows还是Linux安装xdebug都需要以zend扩展的形式安装,如果提示XDEBUG NOT LOADED AS ZEND EXTENSION即下图所示界面则没有正确安装,需要重新修改配置文件。

ec13357cd81f9a8e5621faf53f64d97a.png

以上配置是xdebug本地调试,其实xdebug也可以设置局域网多人调试或者远程调试的方式。待续....

转:https://www.liminghulian.com/article/51

另: 配置其它选项:

[Xdebug]

;指定Xdebug扩展文件的绝对路径

zend_extension="C:\App\php\php\php-7.0.12-nts\ext\php_xdebug-2.7.0alpha1-7.0-vc14-nts.dll";最大循环或调试次数,防止死循环

xdebug.max_nesting_level=50;启用性能检测分析

xdebug.profiler_enable=On

;启用代码自动跟踪

xdebug.auto_trace=on

;允许收集传递给函数的参数变量

xdebug.collect_params=On

;允许收集函数调用的返回值

xdebug.collect_return=On

;指定堆栈跟踪文件的存放目录

xdebug.trace_output_dir="C:\App\php\debug";指定性能分析文件的存放目录

xdebug.profiler_output_dir="C:\App\php\debug";追加

xdebug.profiler_append=1;指定追踪文件名格式

;xdebug.profiler_output_name= "cachegrind.out.%c"xdebug.profiler_output_name= "cachegrind.out.%s";远程调试是否开启

xdebug.remote_enable=On

;端口

xdebug.remote_port=9000;远程调试地址

xdebug.remote_host= 127.0.0.1;数组或对象最大层数 最大可设置1023

xdebug.var_display_max_depth= 10;将require,include相关载入的文件名写入追踪文件

xdebug.collect_includes=1;堆栈追踪

xdebug.default_enable=1;打印请求方式

xdebug.dump.SERVER=REQUEST_METHOD

;打印GET请求参数

xdebug.dump.GET=*;打印POST请求参数

xdebug.dump.POST=*;打印COOKIE

;xdebug.dump.COOKIE=*;打印UA

;xdebug.dump.SERVER=HTTP_USER_AGENT

参考:  https://www.cnblogs.com/alex-dong/p/9126904.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值