在PhpStorm 7.0版本中,开发者再也不必担心调试的问题。PhpStorm 7.0版本加入的调试器配置验证系统,将解决开发者因php.ini配置错误或错过测试优化的最佳时段而引起的麻烦。

PhpStorm 7.0版本可以轻松验证调试器配置,同时支持自带的Xdebug和Zend Debugger两个调试器。

取消xammpp xDebug注释

zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "C:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
;设置xdebug的端口为9001
xdebug.remote_port = 9001
xdebug.trace_output_dir = "C:\xampp\tmp"
;设置idekey
xdebug.idekey="PhpStorm"

 

当配置项目说明的时候,PhpStorm会告知开发者,调试器将默认已经安装的调试器。

memtest PE版本 memtestpro7.0_PHP

 

memtest PE版本 memtestpro7.0_PHP_02

PHP-Servers 如下编辑

 

在Settings | Project Settings | PHP | Servers窗口中,我们可以通过远程验证按钮Validate Remote Environment确认调试器的建立。

 

memtest PE版本 memtestpro7.0_phpStrom_03

点击以后,将看到调试器和验证调试器配置的部署环境。

memtest PE版本 memtestpro7.0_memtest PE版本_04

 

memtest PE版本 memtestpro7.0_PHP_05

 

 

memtest PE版本 memtestpro7.0_phpStrom_06

并可以通过Help按钮获得帮助,蓝色感叹号表明验证成功。配置正确以后,如下显示:

memtest PE版本 memtestpro7.0_PHP_07

 

再配置chrome插件Xdebug helper 设置为IDE key 为PhpStrom和过滤自己本地虚拟域名

启用就可以了。。

/****************************************************************************************/

XAMPP环境下用phpStorm+XDebug进行断点调试的配置

折腾了整整一个下午,总算完成了phpStorm+XDebug的断点调试设置。下面情况针对本机进行调试,远程调试差距不大。

具体过程:

  1. 服务器端(本地调试的情况下就是在本机)安装好XAMPP,停止apache服务(注意,如果直接退出XAMPP,是不会停止apache的)
  2. 在安装目录下找到php.ini,类似于D:\xampp\php\php.ini,并打开
  3. 找到被注释掉的项目并按如下设置:
  1. zend_extension ="D:\xampp\php\ext\php_xdebug.dll"(根据实际情况确定)
  2. xdebug.remote_enable =1
  3. xdebug.remote_handler ="dbgp"
  4. xdebug.remote_host ="localhost"
  5. xdebug.remote_mode ="req"
  6. xdebug.remote_port =9000

其中remote_host 是指调试客户端的地址,即IDE所在的IP,同理remote_port 是客户端的端口,这两项在远程调试的情况下注意修改

  1. 保存文件,打开apache,这时候在CMD里输入 D:\xampp\php\php.exe -m 看到XDebug,说明开启成功。至此,服务器端配置完毕
  2. 下面是客户端调试,打开phpStorm,进入File>Settings>PHP>Servers,这里要填写服务器端的相关信息,name填localhost,host填localhost,port填80,debugger选XDebug
  3. 进入File>Settings>PHP>Debug,看到XDebug选项卡,port填9000,其他默认
  4. 进入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 phpStorm,host 填localhost,port 填80
  5. 点OK退出设置。
  6. 打开浏览器,如果是用chrome或者Firefox可以找到对应的XDebug工具,工具的设置里的IDE KEY填上phpStorm,把localhost加入到白名单,以后调试的时候把工具启用就好了。如果是用其他浏览器,可以访问http://www.jetbrains.com/phpstorm/marklets/,在右边填上phpStorm,点generate,把下面的链接添加到收藏夹,方便调用。
  7. 在phpStorm里打开监听,就是一个电话一样的按钮。
  8. 在浏览器里打开XDebug工具,访问localhost,与phpStorm连接成功!

/******************************************************************************************************************************/

用Intellij IDEA或者PhpStorm使用X-debug来调试PHP,主要需要配置的部分有三个地方,分别为php.ini的配置,IDEA的配置和浏览器的配置,主要如下,以备忘:

  • php.ini的主要配置如下所示,关键参数根据实际情况可以修改:
[Xdebug]
zend_extension_ts=”X:/App/php-5.2.17-Win32-VC6-x86/ext/php_xdebug-2.1.1-5.2-vc6.dll”
xdebug.remote_host=jichengdiaoding.com
xdebug.remote_port = 9000
xdebug.remote_mode = “req”
xdebug.remote_enable = on
xdebug.remote_handler = dbgp
xdebug.idekey = “netbeans-xdebug”
xdebug.profiler_enable=on
xdebug.trace_output_dir=”X:/App/php-5.2.17-Win32-VC6-x86/xdebuginfo”
xdebug.profiler_output_dir=”X:/App/php-5.2.17-Win32-VC6-x86/xdebuginfo”
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.show_exception_trace = On
xdebug.remote_autostart = On
  • xdebug.collect_vars = On配置好了,在CMD里面输入X:/App/php-5.2.17-Win32-VC6-x86/php.exe -m,如果能看到XDebug模块,说明开启成功。
    *: 值得注意的是,这里需要确定好XDebug和PHP的对应版本
  • IDEA的配置如下:
    进入File>Settings>PHP>Servers,这里要填写服务器端的相关信息,name填要调试的主机名(如:jichengdiaoding.com或者localhost等),host填(如:localhost或者amiku.cn等),port填80,debugger选XDebug
    进入File>Settings>PHP>Debug,看到XDebug选项卡,port填9000,其他默认
    进入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 netbeans-xdebug,host 填jichengdiaoding.com,port 填80
  • 在Firefox或者Chrome浏览器中,找到对应的X-Debug版本的插件,如下为Firefox下的调试插件:
    工具的设置里的IDE KEY填上netbeans-xdebug,把jichengdiaoding.com加入到白名单,以后调试的时候把工具启用就好了
    在IDEA中打开PHP的监听,然后就可以进入debug模式,方便的打断点和查看变量以及监测等。
  •  配置完成。