php xdebug



介绍
Xdebug 需要在执行 PHP 代码的机器上(远程主机)安装 Xdebug, 然后再本机上运行 Xdebug Client。 集成开发环境一般内置有 Xdebug Client(本文以 PHPStorm 为例),流行的编辑器 Vim, Emacs 也都有对应的插件,详细可看官方网站的[[http://xdebug.org/docs/remote#clients]]。 尽管本机运行的是 `Xdebug Client`, 但是却需要监听某个端口,等待 `Xdebug` 连接。


安装
pecl install xdebug   //Mac 用户可以执行  brew install php<version number>-xdebug
安装完成后执行 `php -v`, 如果能看到 "with Xdebug ..." 说明安装成功。


配置
可以直接修改 php.ini 文件,也可以把 Xdebug 配置作为单独的文件被 php.ini 包含。 
我们环境中推荐修改 `/usr/local/etc/php/php.d/zend_extension.ini`.


[Xdebug]
zend_extension=xdebug.so
xdebug.idekey = mykey
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
;xdebug.remote_host = 172.16.10.103
xdebug.remote_connect_back = 1
xdebug.remote_port = 10000


* xdebug.idekey = mykey   ide key, 用于标识调试会话
* xdebug.remote_autostart  是否自动启动,1:自动0:需要设置http请求参数或cookie指定XDEBUG_SESSION=$idkey来启动。默认0,根据需求设置这个值。个人建议设置为1,这样不需要
 在每个需要调试的接口都修改请求参数
* xdebug.remote_enable = 1  是否开启远程调试
* xdebug.remote_host = 172.16.10.103  远程主机 IP, 也就是 PHPStorm 所在机器(PHPStorm 作为 xdebug client),没有固定 IP 的机器建议使用 `connect_back` 选项。
* xdebug.remote_connect_back = 1  是否连接回请求发出的主机,如果 PHPStorm 所在的机器 IP 经常变动(DHCP 环境下),则建议开启这个选项
* xdebug.remote_port = 10000  远程主机端口,也就是开发者机器端口




---++PHPStorm 配置
https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm
以上链接给出的配置方法已经足够好。需要注意的是:如果配置了 **remote_autostart**, 则步骤4,5 不是必要的。


php 脚本有最大执行时间限制,比较长的调试会话很可能会超时,所以,要增大超时时间。
nginx:
    fastcgi_connect_timeout     600000;
    fastcgi_send_timeout        600000;
    fastcgi_read_timeout        600000;
php-fpm:
request_terminate_timeout = 30m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值