调试 Magento 时出错 Standard.php

Error while debugging Magento Standard.php

我正在尝试调试 Magendo 1.9.2.4 app\code\core\Mage\Core\Controller\Varien\Router\Standard.php。我正在使用带有 Xdebug 的 PhpStorm。

在调试期间,它向我显示一个错误,它找不到它所指的 class Abstract

这是完整的日志:

C:\xampp\php\php.exe -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 C:\xampp\htdocs\vaimo\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php
PHP Fatal error:  Class 'Mage_Core_Controller_Varien_Router_Abstract' not found in C:\xampp\htdocs\vaimo\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php on line 28
PHP Stack trace:
PHP   1. {main}() C:\xampp\htdocs\vaimo\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php:0

Fatal error: Class 'Mage_Core_Controller_Varien_Router_Abstract' not found in C:\xampp\htdocs\vaimo\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php on line 28

Call Stack:
    0.0699     193008   1. {main}() C:\xampp\htdocs\vaimo\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php:0


Process finished with exit code 255

Class StandardAbstract class 扩展而来,它位于不同的文件中,但与 Standard.

在同一文件夹中

你做错了。

您正在 CLI 环境中调试代码("PHP Script" 类型的 Run/Debug 配置)。这样你就可以在终端中直接执行你的C:\xampp\htdocs\vaimo\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php文件,因此Magento的bootstrap代码(class自动加载等)不会被执行并且PHP (是的,这个错误来自 PHP 解释器本身)无法找到你的 parent class.

解决方案: 不要使用 "PHP Script" 类型的配置在 CLI 模式下进行调试 -- 通过浏览器进行调试 作为 Web 应用程序 而不是正确的配置类型。这样,正常的 Magento 例程就会到位 (autoloading/configs/db connection/etc) -- https://confluence.jetbrains.com/display/PhpStorm/Debugging+PHP+Web+Applications+with+Run+Debug+Configurations.