4 php remote-debugging xdebug phpstorm
我试图让Xdebug远程调试工作,我使用PHPStorm作为我的IDE.我的网络服务器/代码托管在远程机器上(amazon ec2).
我的远程服务器上的php.ini中有以下行(PHP CLI,因为我正在进行PHPUnit调试)
zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000
Run Code Online (Sandbox Code Playgroud)
由于我是从家庭网络编程的,因此我在个人路由器上打开了端口9000.我将PHPStorm的xdebug服务器设置为指向端口80上的远程服务器,使用Xdebug作为调试器.
现在,当我尝试从PHPStorm调试PHPUnit测试时,它只是说'等待与ide键'12115的传入连接'除外,它每次都会选择一个随机的ide键(我希望PHPUnit在服务器上设置idekey)本身)
我一直试图让这个工作超过10个小时,我已经尝试在php.ini中定义我的特定remote_host而不是使用remote_connect_back,但这也没有用.我试过在php.ini中设置一个idekey,但是效果不好.
反正是否确认Xdebug在Web服务器端按预期工作?如何在不使用Phpstorm的情况下测试我的Xdebug设置,我不知道它是我的家庭网络和远程服务器之间的连接问题还是什么.
任何有助于缩小问题范围的指导都会很棒.
小智 5
我知道这个问题有点陈旧,但由于我遇到了同样的问题并且刚刚找到了解决方案,我决定在这里发帖给任何感兴趣的人.
我的解决方案主要基于Rafael Dohms在他的博客文章中提供的解决方案:使用XDebug调试NetBeans中的PHPUnit测试
zend_extension=c:\wamp\bin\php\php5.4.3\ext\php_xdebug-2.2.2-5.4-vc9.dll
xdebug.extended_info=1
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_log=c:/wamp/tmp/xdebug/xdebug_remote.log
Run Code Online (Sandbox Code Playgroud)
以上配置参数进入CLI的"php.ini"文件.对于默认的WAMP安装,此文件的完整路径为:C:\ wamp\bin\php\php5.4.3\php.ini
首先,您必须创建一个"服务器配置"(谷歌"为主题的官方文档创建一个服务器配置 - JetBrains"),将"Xdebug"指定为"调试器".
然后,创建一个新的"PHP远程调试配置"(谷歌"为主题的官方文档创建和编辑运行/调试配置 - JetBrains")在"配置"部分下指定以下值:
现在,选择该配置并按"Debug"按钮(或"Shift + F9").PHPStorm将显示"Debug"面板并显示消息:等待与ide键'PHPSTORM'的传入连接
最后,"运行"你的PHPUnit测试.有几种方法.其中之一是:
而已!XDebug将从此处获得控制权.
| 归档时间: |
|
| 查看次数: |
4894 次 |
| 最近记录: |