调试 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 Standard
从 Abstract
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.
- All debugging materials
- Zero-configuration approach -- 当您使用 xdebug 浏览器扩展从浏览器启动调试或手动设置 cookie/xdebug 参数时。
我正在尝试调试 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 Standard
从 Abstract
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.
- All debugging materials
- Zero-configuration approach -- 当您使用 xdebug 浏览器扩展从浏览器启动调试或手动设置 cookie/xdebug 参数时。