PhpStorm + Xdebug - 收听时出现致命错误,否则脚本运行正常

时间:2016-02-10 01:07:42

标签: magento phpstorm xdebug

编辑:我认为这至少与我正在创建的模块有关。但即使我切换回我的主分支,我也有同样的问题。

为什么在我的Windows机器上监听Xdebug连接会影响远程机器上的代码执行,以致它会产生致命错误?我认为自从昨天开始工作以来我的Xdebug设置没有任何改变。也许我改变了一些影响远程服务器上PHP执行的PhpStorm设置。这可能吗?

这是我当地的php.ini的Xdebug部分。我将xdebug.remote_host设置为localhost,因为我正在连接SSH隧道。但是,这种联系肯定有效,这不是问题所在。

Php.ini Xdebug Settings

我也看到了Apache重定向错误。我的xdebug连接是否以某种方式导致这些重定向?

[Tue Feb 09 18:40:01.465356 2016] [core:error] [pid 31043] [client 127.0.0.1:53428] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

结束编辑。

第二次编辑:

我尝试将我的git repo拉到新服务器,安装了db的副本,并使用相同的PhpStorm配置连接并遇到了同样的问题。在该服务器上运行的另一个PhpStorm项目运行良好,所以我很有希望能解决它。但似乎问题确实存在于我本地的机器上。

所以我创建了一个新的PhpStorm项目,从github做了一个新的克隆,输入了我能想到的所有无数的服务器和调试设置。所以,新鲜的文件,新鲜的服务器,新的PhpStorm项目......它的工作原理!有点。

我认为还有一个非常奇怪的问题,与之前的错误有关。我设置了一个断点,在请求期间只应该被击中一次,然而它被击中了4次,并且PhpStorm之后给了我一个通知“调试会话已经完成而没有被暂停”,这表明至少还有一个请求通过没有达到那个特定的断点。

我仍然不知道其他PhpStorm安装上致命错误的确切原因。

结束第二次编辑。

有没有解释PhpStorm和/或Xdebug更改PHP脚本的功能?

我在远程CentOS机器上运行Xdebug 2.3.2和PHP 5.5.20,使用Magicento插件调试Magento 1.7商店。这个问题和我试图创建的模块之间肯定存在某种联系,并将XML格式化。但对我来说,这并没有解释为什么在我调试代码时代码会有所不同。

昨天一切似乎都正常工作,我能够连接到远程调试会话并逐行逐步完成代码。 我今天仍然可以这样做,但现在每当我监听调试连接时脚本都会抛出致命的错误,而当我不这样做时运行正常。观察者如何影响观察到的?这不是量子物理学!

例如,我只是尝试加载管理员,并在我的error_log中找到了这个。

[10-Feb-2016 00:39:01 UTC] PHP Fatal error:  Call to a member function isAvailable() on a non-object in /home/butkus/public_html/app/code/core/Mage/Adminhtml/Block/Widget/Grid.php on line 572
[10-Feb-2016 00:39:01 UTC] PHP Stack trace:
[10-Feb-2016 00:39:01 UTC] PHP   1. {main}() /home/butkus/public_html/index.php:0
[10-Feb-2016 00:39:01 UTC] PHP   2. Mage::run($code = *uninitialized*, $type = *uninitialized*, $options = *uninitialized*) /home/butkus/public_html/index.php:86
[10-Feb-2016 00:39:01 UTC] PHP   3. Mage_Core_Model_App->run($params = *uninitialized*) /home/butkus/public_html/app/Mage.php:683
[10-Feb-2016 00:39:01 UTC] PHP   4. Mage_Core_Controller_Varien_Front->dispatch() /home/butkus/public_html/app/code/core/Mage/Core/Model/App.php:354
[10-Feb-2016 00:39:01 UTC] PHP   5. Mage_Core_Controller_Varien_Router_Standard->match($request = *uninitialized*) /home/butkus/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php:176
[10-Feb-2016 00:39:01 UTC] PHP   6. Mage_Core_Controller_Varien_Action->dispatch($action = *uninitialized*) /home/butkus/public_html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php:254
[10-Feb-2016 00:39:01 UTC] PHP   7. Mage_Adminhtml_DashboardController->indexAction() /home/butkus/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php:419
[10-Feb-2016 00:39:01 UTC] PHP   8. Mage_Adminhtml_Controller_Action->loadLayout($ids = *uninitialized*, $generateBlocks = *uninitialized*, $generateXml = *uninitialized*) /home/butkus/public_html/app/code/core/Mage/Adminhtml/controllers/DashboardController.php:40
[10-Feb-2016 00:39:01 UTC] PHP   9. Mage_Core_Controller_Varien_Action->loadLayout($handles = *uninitialized*, $generateBlocks = *uninitialized*, $generateXml = *uninitialized*) /home/butkus/public_html/app/code/core/Mage/Adminhtml/Controller/Action.php:275
[10-Feb-2016 00:39:01 UTC] PHP  10. Mage_Core_Controller_Varien_Action->generateLayoutBlocks() /home/butkus/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php:269
[10-Feb-2016 00:39:01 UTC] PHP  11. Mage_Core_Model_Layout->generateBlocks($parent = *uninitialized*) /home/butkus/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php:344
[10-Feb-2016 00:39:01 UTC] PHP  12. Mage_Core_Model_Layout->generateBlocks($parent = *uninitialized*) /home/butkus/public_html/app/code/core/Mage/Core/Model/Layout.php:210
[10-Feb-2016 00:39:01 UTC] PHP  13. Mage_Core_Model_Layout->_generateBlock($node = *uninitialized*, $parent = *uninitialized*) /home/butkus/public_html/app/code/core/Mage/Core/Model/Layout.php:205
[10-Feb-2016 00:39:01 UTC] PHP  14. Mage_Core_Model_Layout->addBlock($block = *uninitialized*, $blockName = *uninitialized*) /home/butkus/public_html/app/code/core/Mage/Core/Model/Layout.php:239
[10-Feb-2016 00:39:01 UTC] PHP  15. Mage_Core_Model_Layout->createBlock($type = *uninitialized*, $name = *uninitialized*, $attributes = *uninitialized*) /home/butkus/public_html/app/code/core/Mage/Core/Model/Layout.php:472
[10-Feb-2016 00:39:01 UTC] PHP  16. Mage_Core_Block_Abstract->setLayout($layout = *uninitialized*) /home/butkus/public_html/app/code/core/Mage/Core/Model/Layout.php:456
[10-Feb-2016 00:39:01 UTC] PHP  17. Mage_Adminhtml_Block_Dashboard->_prepareLayout() /home/butkus/public_html/app/code/core/Mage/Core/Block/Abstract.php:238
[10-Feb-2016 00:39:01 UTC] PHP  18. Mage_Core_Model_Layout->createBlock($type = *uninitialized*, $name = *uninitialized*, $attributes = *uninitialized*) /home/butkus/public_html/app/code/core/Mage/Adminhtml/Block/Dashboard.php:75
[10-Feb-2016 00:39:01 UTC] PHP  19. Mage_Core_Block_Abstract->setLayout($layout = *uninitialized*) /home/butkus/public_html/app/code/core/Mage/Core/Model/Layout.php:456
[10-Feb-2016 00:39:01 UTC] PHP  20. Mage_Adminhtml_Block_Dashboard_Grids->_prepareLayout() /home/butkus/public_html/app/code/core/Mage/Core/Block/Abstract.php:238
[10-Feb-2016 00:39:01 UTC] PHP  21. Mage_Core_Block_Abstract->toHtml() /home/butkus/public_html/app/code/core/Mage/Adminhtml/Block/Dashboard/Grids.php:64
[10-Feb-2016 00:39:01 UTC] PHP  22. Mage_Adminhtml_Block_Widget_Grid->_beforeToHtml() /home/butkus/public_html/app/code/core/Mage/Core/Block/Abstract.php:862
[10-Feb-2016 00:39:01 UTC] PHP  23. Mage_Adminhtml_Block_Widget_Grid->_prepareGrid() /home/butkus/public_html/app/code/core/Mage/Adminhtml/Block/Widget/Grid.php:632
[10-Feb-2016 00:39:01 UTC] PHP  24. Mage_Adminhtml_Block_Widget_Grid->_prepareMassactionBlock() /home/butkus/public_html/app/code/core/Mage/Adminhtml/Block/Widget/Grid.php:625
[10-Feb-2016 00:44:11 UTC] PHP Fatal error:  Call to a member function isAvailable() on a non-object in /home/butkus/public_html/app/code/core/Mage/Adminhtml/Block/Widget/Grid.php on line 572
[10-Feb-2016 00:44:11 UTC] PHP Stack trace:
[10-Feb-2016 00:44:11 UTC] PHP   1. {main}() /home/butkus/public_html/index.php:0
@
"error_log" 52L, 9168C                                                                                                   1,1           Top

我能够在致命错误之前在行中放置一个断点并查看应用程序状态。

神秘格式错误的数组$this->children只有一个元素, 密钥mymessedupmodule和值对象Mage_Adminhtml_Block_Widget_Grid_Massaction,其属性为_alias = 'mymessedupmodule。不知何故,我的模块正在接管其他一切。但是,当我关闭PhpStorm监听调试连接时,似乎没有发生这种情况。如果我的应用程序在被调试时表现不同,我如何调试它?

2 个答案:

答案 0 :(得分:0)

回答你的问题“有没有解释PhpStorm和/或Xdebug改变PHP脚本的功能?”是的,例如你可能有错误,因为xdebug嵌套级别,在这种情况下你可以添加xdebug.max_nesting_level = 200,我不确定这与你的问题有什么关系,但听起来你在观察者区域设置一些变量,请尝试删除观察者中的所有内容并再次运行

答案 1 :(得分:0)

您必须使用本地计算机的实际IP地址。我使用xdebug.remote_host = localhost也得到了这个错误。当我将其更改为192.168.5.116时,它立即接受了我本地计算机上的连接。我正在使用xdebug + phpstorm。