0x00 前言

采用Phpstorm+Phpstudy+XDebug

相关链接:

Download PhpStorm: Lightning-Smart PHP IDE

小皮面板(phpstudy) - 让天下没有难配的服务器环境!

0x01 phpstudy配置

先添加一个网站

Xdebug配置

phpstudy默认自带Xdebug,找到对应版本的php设置里面打开即可,自己设置一个监听端口

0x02 PHPStorm配置

phpstorm配置php,选择phpstudy中使用的php路径

配置Xdebug,端口为之前 phpstudy 配置的端口,保持一致

DBGp Proxy配置

IDE key 和 php.ini 的xdebug的 idekey 一致,默认为 PHPSTORM

端口 和 设置的 xdebug 的 端口一致

Servers设置

调试器选xdebug

添加配置

新建php web page页面

验证连接

点击小电话 开始监听 以 调试

0x03 浏览器配置

浏览器插件商店 搜索xdebug helper 安装即可

Edge浏览器插件下载地址:

Xdebug helper - Microsoft Edge Addons

安装成功后右键进入扩展选项

在PHP的配置文件中对xdebug的设置需要特别注意,将xdebug.remote_autostart设置为off

如果设置为on,则会忽略在浏览器中是选择Debug还是Disable,都会自动进行调试

;开启远程调试自动启动
xdebug.remote_autostart = Off

这样,xdebug helper就设置好了

0x04 遇到的问题

Phpstorm+XDEBUG调试的时候超时解决办法

在使用Phpstorm+XDEBUG进行调试过程中,分析会花费较长时间,
有的时候还没有调试完连接就已经断开,
这时候就需要重新进入调试或者在函数深处继续打断点

可以修改超时时间来解决问题,修改完记得重启服务。

方法一:
在 apache 配置文件 httpd.conf 中增加如下配置,将超时时间改大一点

Timeout 3600
FcgidIOTimeout 3600
FcgidIdleTimeout 3600
IPCConnectTimeout 3600
IPCCommTimeout 3600

方法二:
phpstudy 的话也可以在 vhosts.conf 里面的配置文件中加上几句代码增加两行代码

IPCConnectTimeout 300000
IPCCommTimeout 300000

如下

<VirtualHost _default_:80>
    DocumentRoot "D:/phpstudy_pro/WWW"
    FcgidInitialEnv PHPRC "D:/phpstudy_pro/Extensions/php/php5.6.9nts"
    AddHandler fcgid-script .php
    IPCConnectTimeout 300000
    IPCCommTimeout 300000
    FcgidWrapper "D:/phpstudy_pro/Extensions/php/php5.6.9nts/php-cgi.exe" .php
  <Directory "D:/phpstudy_pro/WWW">
      Options FollowSymLinks ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
	  DirectoryIndex index.php index.html
  </Directory>
  ErrorDocument 400 /error/400.html
  ErrorDocument 403 /error/403.html
  ErrorDocument 404 /error/404.html
  ErrorDocument 500 /error/500.html
  ErrorDocument 501 /error/501.html
  ErrorDocument 502 /error/502.html
  ErrorDocument 503 /error/503.html
  ErrorDocument 504 /error/504.html
  ErrorDocument 505 /error/505.html
  ErrorDocument 506 /error/506.html
  ErrorDocument 507 /error/507.html
  ErrorDocument 510 /error/510.html
</VirtualHost>

方法三:
php.ini 增加 修改如下配置

xdebug.remote_cookie_expire_time = 3600
max_execution_time=3600
max_input_time=3600
default_socket_timeout = 3600

参考文章

Configure Xdebug | PhpStorm

phpstorm配置xdebug 3.0最新教程

phpstorm调试环境XDebug搭建

phpstorm 使用 Xdebug 调试代码