我目前的XDEBUG设置是 – xdebug xdebug support enabled Version 2.3.2 IDE Key 1 Supported protocols Revision DBGp – Common DeBuGger Protocol $Revision: 1.145 $ Directive Local Value Master Value xdebug.auto_trace Off Off xdebug.cli_color 0 0 xdebug.collect_assignments Off Off xdebug.collect_includes On On xdebug.collect_params 0 0 xdebug.collect_return Off Off xdebug.collect_vars Off Off xdebug.coverage_enable On On xdebug.default_enable On On xdebug.dump.COOKIE […]
我已经跟着多个教程来设置与PhpStorm XDebug,但似乎 我一点都不幸运。 无论我尝试什么,它总是坚持下去 使用ide键“PHPSTORM”等待传入连接 但是当我用CTRL + RI重新加载页面时,可以看到连接的瞬间 。 然而,然后它切换回“等待..” 我试过XDebug Chrome插件和PHPStorm XDebug Generator书签 以及在PHPStorm中启用“开始监听PHPdebugging连接” 。 我用php5-fpm使用NginX,并尝试tcpdump 9089 。 正如所说的那样,一秒钟就把它转储出去。 但是,然后又失去了.. 有人可以帮帮我吗? 我的php.iniconfiguration: [xdebug] zend_extension="/usr/lib/php5/20121212/xdebug.so" xdebug.remote_enable=1 xdebug.remote_port=9089 xdebug.remote_connect_back=1 xdebug.profiler_enable=1 xdebug.profilter_output_dir="/tmp/xdebug.log" xdebug.idekey=PHPSTORM 我的PHPStorm设置: [ 编辑 :我没有想法为什么,但删除xdebug.remote_connect_back=1 并用xdebug.remote_host=my.ip.add.essreplace它使它工作?! 正如我已经阅读文档,我有一个理解,第一个设置是隐式的请求 而后面的是一个明确的IP请求..
我使用最新版本的PHP (7.0.2)和xdebug (2.4.0RC3)与phpstorm 9.0.2 ,当我开始debugging,我立即得到 error "502 Bad Gateway" 有时我设法通过几行代码,但是无论如何我得到了错误。 当我有以前的版本的PHP (5.6)和xdebug一切都很好。 PS的PHP,Nginx和XDEBUG与自制软件一起安装。
我正在使用运行PHP 7.1(php-fpm)和Nginx的Docker容器。 我已经安装并启用Xdebug 2.5.0(如下图所示)。 我正在尝试使用“Zero Debug Configuration”debugging一行index.php文件: <?php phpinfo(); 但是我收到以下错误: 无法接受外部Xdebug连接:无法评估expression式$ _SERVER ['SERVER_PORT']' 我有search类似的问题,我已经find了这个,但没有帮助我到目前为止。 这里是与Debug相关的PhpStormconfiguration: 我不确定什么是失败的,所以我需要一些帮助。 Dockerfile等存储库在这里 。 我正在使用以下版本的PhpStorm: PhpStorm 2016.3.2 EAP Build #PS-163.10154.2, built on December 13, 2016 JRE: 1.8.0_112-release-408-b2 amd64 JVM: OpenJDK 64-Bit Server VM by JetBrains sro 可以给我一些帮助吗? 我在这个设置上缺less什么?
指导如何使用PHPStorm设置XDebug。 版本: PHP 7.0 PHPStorm 2016.3.2 XDebug 2.5 OS X El Capitan 10.11.6
我想我会尝试使用nginx,而不是Apache,看看是如何工作的,我已经开始运行,但我不能为我的生活弄清楚如何使PhpStorm捕获传入的xdebug连接。 当我运行Apache时,它工作的很好。 通常情况下,你会得到一个“传入连接” – 在PhpStorm窗口 – 这个窗口现在闪耀着它的缺席 – 是的; 我已经阅读了StackOverflow上的每一个PhpStorm / Xdebug问题,但都没有解决我的问题。 configuration:操作系统:OSX Mavericks PhpStorm版本:7.1 Xdebug版本:2.2.5 请注意,我正在运行nginx和PHP通过php-fpm这是按预期工作。 我已经指出了与php-fpm运行到PhpStorm相同的PHP文件,它成功地find了Xdebug作为debugging器。 由于php-fpm与Xdebug一样运行的是9000端口,所以我将其更改为9900和9001(都尝试过),并确保检查我的phpinfo()以查看服务器已经更新了php.iniconfiguration。已经检查过我已经更新了PhpStorm中的Xdebug端口。 我也启用了“开始侦听debugging连接”在PhpStorm。 从php.iniconfigurationXdebug: [xdebug] zend_extension = /usr/local/Cellar/php55/5.5.14/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so xdebug.auto_trace=0 xdebug.default_enable=1 xdebug.idekey="PHPSTORM" xdebug.profiler_enable=0 xdebug.profiler_enable_trigger=0 xdebug.profiler_output_dir="/tmp" xdebug.remote_enable=on xdebug.remote_handler=dbgp xdebug.remote_host=localhost xdebug.remote_mode=req xdebug.remote_port=9001 如上所述 – 当我在浏览器中加载phpinfo()时,xdebug被加载,并且我已经在PhpStorm中设置了正确的端口。 谢谢你的帮助。
我使用PhpStorm,xdebug和nginx + php-fpm进行远程debugging。 当我在请求GET参数中传递XDEBUG_SESSION_START=my_ide_key时,Nginx会使用502错误代码(Bad Gateway)。 同时,我在IDE中的代码断点工作正常。 当我不通过XDEBUG_SESSION_START参数nginx响应格式良好的HTML和代码200.但明显没有这个参数,它是没有debugging。 在nginx错误日志中,我看到有关从上游收到的大头的通知。 我试图转储php-fpm和nginx之间的通信,只是一个不同的事情是一个Set-Cookie头: Set-Cookie: XDEBUG_SESSION=666; expires=Mon, 16-Sep-2013 16:07:28 GMT; path=/ 我试图find这个标题出现在响应。 我发现在我的smarty插件Smarty_Internal_Template析构函数(在我的启动脚本的最后一行代码之后),如果我调用headers_list()我看到成长的Set-Cookie头(相等的析构函数调用和Set-Cookie头量)的数量。 我相信在我的代码中没有明确的header('Set-Cookie: XDEBUG_SESSION=…') 。 我尝试升级和降级xdebug版本,但仍然有相同的行为。 在Smarty_Internal_Template放置代码remove_header('Set-Cookie')解决了我的问题,但这是丑陋的黑客! 对这种奇怪的情况有什么想法?
在过去,我使用apache + mod_php + xdebug + netbeans来开发我的网站(服务器是我的本地机器,运行Debian Squeeze),很高兴–xdebug正常工作,debugging会话可以随时启动和停止,当我需要它。 但是,当我转移到nginx + php_fpm + xdebug + netbeans我遇到了一些debugging问题。 我的debugging会话可能会很长 (超过30秒),似乎nginx不能等待这么久,它显示“504网关超时错误” 。 我已经尝试了很多build议来解决这个问题,但没有运气。 虽然对我来说不是很重要,因为debugging会话本身还在继续运行,这只是一点点不舒服的事情。 我的debugging会话只能运行一次,所以,如果我停止它,并尝试再次启动debugging,netbeans无法接受来自xdebug的连接(它写入“等待xdebug连接”,这是永远)。 netbeans重新启动后,debugging会话可以正常重新启动。 在来的情况下,我不明白,debugging是“打开所有的PHP脚本”,并阻止任何其他脚本运行。 例如,我在我的网站的http://mysite.local/index.php上启动debugging会话并使用它。 一段时间后,我注意到,我的adminer (放在intranet.local / adminer.php)没有运行,浏览器试图加载页面一段时间,并显示“504网关超时错误”。 如果我看到这种行为,我可以在netbeans中停止xdebugdebugging会话,并且所有其他脚本开始正常运行。 现在,当我写这个问题的时候,我做了一些调查,发现,如果我开始debugging会话几秒钟,然后停止它,然后重新开始 – 它正常启动。 似乎问题出现一段时间后积极debugging。 我的系统和应用程序:Debian squeeze:2.6.32-5-686 Nginx:1.4.1(来自dotdeb仓库)php5-fpm:5.3.26-1〜d(来自dotdeb仓库)php5-xdebug:5.3.26-1 〜d(来自dotdeb资源库)netbeans:7.3 我的configuration: nginx基本configuration: https : //gist.github.com/MihanEntalpo/6229801 nginx网站configuration文件: https : //gist.github.com/MihanEntalpo/6229781 fastcgi_params文件: https : //gist.github.com/MihanEntalpo/d93fd4105573e1eda56f php-fpm池configuration文件: https : //gist.github.com/MihanEntalpo/6229820 php-fpm […]
我有一个通过PHP-FPM运行的PHP服务器,它通过端口7000上的nginx与fastcgi一起提供。 这个应用程序已被docker化,并作为正在运行的容器运行,例如my_api 。 my_api容器可以直接通过端口7000连接(用于健全性检查),也可以通过另一个容器充当nginx反向代理,使用上游来暴露端口80和443上的my_api应用程序(及其他)redirect到SSL)通过proxy_pass指令在适当的位置下。 如果我使用端口9000上的dbgp直接对从http:// localhost:7000提供的文件启动XDebug会话,则可以看到正确build立的debugging会话,并且可以进行debugging。 但是,如果我试图根据nginx反向代理提供的URL(例如https:// localhost / my-api)启动XDebug会话,则debugging会话似乎不会启动,或者至less不会正确创build连接(在我的IDE中没有打断点等)。 如何为通过nginx反向代理发出的请求build立一个XDebug会话? 对于这个问题,下面是我docker-compose.ymlconfiguration和xdebug.ini的(相关的)示例: docker-compose.yml : version: "2" services: api: build: <path_to_dockerfile> ports: – 7000:7000 #- 9000:9000 # may be uncommented for direct debugging access nginx_proxy: build: <path_to_dockerfile> links: … – api:api ports: – 80:80 – 443:443 xdebug.ini zend_extension=xdebug.so xdebug.remote_enable=true xdebug.remote_connect_back=1 xdebug.remote_port=9000 xdebug.remote_handler=dbgp xdebug.remote_autostart=0 注意:我已经尝试了几种不同的configuration来尝试获得这个工作,包括启动一个运行dbgpproxy的Docker容器,但似乎没有任何东西允许我debugging通过反向代理的请求。 这是非常可能的,但我用这些尝试的configuration是错误的。 我有一些关于我的问题的理论,其中包括怀疑它是通过remote_connect_backconfiguration属性传递给XDebug的反向代理的IP地址。 […]
据我所知,我已经build立了xDebug在我的本地机器上工作,但显然它不是。 我正试着从 至 。 谁在乎? 第二个图像是与xDebug工作,这afaik,意味着我可以得到堆栈跟踪等工作。 帮帮我! 我遵循xdebug网站上的安装说明。 我在/etc/php5/apache2/php.ini文件中包含了以下内容: zend_extension=/etc/php5/xdebug/xdebug.so xdebug.default_enable = 1 xdebug.auto_trace = 1 xdebug.collect_vars = 1 xdebug.collect_params = 4 在查看phpinfo()时,我得到: 本程序使用Zend脚本语言引擎:Zend Engine v2.3.0,Copyright(c)1998-2012 Zend Technologies with Xdebug v2.2.1,Copyright(c)2002-2012,Derick Rethans 此外,在模块部分的下面,我看到它的设置xDebug在那里。 但是,我似乎无法得到xDebug在我的网页上显示任何信息,当有错误? 有任何想法吗?