我在进入我的配置>高级>开发人员部分以启用探查器 ex 时遇到了一些问题。加载此 www.sitename.com/index.php/system_config/edit/section/dev/ URL 时,我收到 404 错误。我检查了我所有的日志,不知道为什么会这样?
我如何追踪问题的根源?- 日志中没有线索。它在一个实时站点上,自从我上次使用 Magento 的这一部分以来已经有很长时间了,所以我不知道是否安装或更改了任何可能引发这种情况的东西,遗憾的是。
我在进入我的配置>高级>开发人员部分以启用探查器 ex 时遇到了一些问题。加载此 www.sitename.com/index.php/system_config/edit/section/dev/ URL 时,我收到 404 错误。我检查了我所有的日志,不知道为什么会这样?
我如何追踪问题的根源?- 日志中没有线索。它在一个实时站点上,自从我上次使用 Magento 的这一部分以来已经有很长时间了,所以我不知道是否安装或更改了任何可能引发这种情况的东西,遗憾的是。
假设您看到的是带有管理 UI/Chrome 的 404 页面,以及内容区域中的 404 文本,这听起来像是您的用户帐户没有访问控制权限来查看系统配置的开发人员部分。
更新:根据上面评论中的信息,听起来一些自定义代码(或可能对系统中不正确的东西做出反应的核心代码)正在引发Mage_Core_Model_Store_Exception
异常。如果您打开app/Mage.php
文件,请查找此 catch 块。
#File: app/Mage.php
} catch (Mage_Core_Model_Store_Exception $e) {
require_once(self::getBaseDir() . DS . 'errors' . DS . '404.php');
die;
}
这就是您所看到的 404 页面所在的位置。尝试添加一些临时调试代码——像这样
} catch (Mage_Core_Model_Store_Exception $e) {
var_dump($e->getMessage());
//or
var_dump($e);
require_once(self::getBaseDir() . DS . 'errors' . DS . '404.php');
die;
}
转储异常消息的内容或整个异常本身。这将向您显示 Magento 遇到的错误,该错误迫使它显示 404 页面,这应该可以帮助您找到问题。
谢谢@AlanStorm - 这让我走到了这一步:
我使用了这个片段:
} catch (Mage_Core_Model_Store_Exception $e) {
var_dump($e->getTraceAsString());
0/var/www/site.com/public_html/app/code/local/Mage/Core/Model/App.php(831): Mage_Core_Model_App->throwStoreException()
1/var/www/site.com/public_html/app/code/core/Mage/Core/Model/Url.php(342): Mage_Core_Model_App->getStore('4')
2/var/www/site.com/public_html/app/code/core/Mage/Core/Model/Url.php(616): Mage_Core_Model_Url->setStore('4')
3/var/www/site.com/public_html/app/code/core/Mage/Core/Model/Url.php(734): Mage_Core_Model_Url->setRouteParams(Array, false)
4/var/www/site.com/public_html/app/code/core/Mage/Core/Model/Url.php(977): Mage_Core_Model_Url->getRouteUrl('', Array)
5/var/www/site.com/public_html/app/code/local/ManaPro/FilterSeoLinks/Model/Url.php(18): Mage_Core_Model_Url->getUrl('', Array)
6/var/www/site.com/public_html/app/Mage.php(362): ManaPro_FilterSeoLinks_Model_Url->getUrl('', Array)
7/var/www/site.com/public_html/app/code/local/Magentohotel/Varnish/Model/Adminhtml/Renderer/Bans/Categories.php(31): Mage::getUrl('', Array)
8/var/www/site.com/public_html/app/code/core/Mage/Adminhtml/Block/System/Config/Form.php(421): Magentohotel_Varnish_Model_Adminhtml_Renderer_Bans_Categories->toOptionArray(true)
9/var/www/site.com/public_html/app/code/core/Mage/Adminhtml/Block/System/Config/Form.php(210): Mage_Adminhtml_Block_System_Config_Form->initFields(Object(Varien_Data_Form_Element_Fieldset), Object(Mage_Core_Model_Config_Element), Object(Mage_Core_Model_Config_Element))
10/var/www/site.com/public_html/app/code/core/Mage/Adminhtml/Block/System/Config/Edit.php(92): Mage_Adminhtml_Block_System_Config_Form->initForm()
11/var/www/site.com/public_html/app/code/core/Mage/Adminhtml/controllers/System/ConfigController.php(102): Mage_Adminhtml_Block_System_Config_Edit->initForm()
12/var/www/site.com/public_html/app/code/local/Mage/Core/Controller/Varien/Action.php(420): Mage_Adminhtml_System_ConfigController->editAction()
13/var/www/site.com/public_html/var/cache/extendware/ewcore/overrides/Mage/Core/Controller/Varien/Router/Standard/63563f9ebb198e3182fd11a84369b608.php(250): Mage_Core_Controller_Varien_Action->dispatch('edit')
14/var/www/site.com/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_StandardOverriddenClass->match(Object(Mage_Core_Controller_Request_Http))
15/var/www/site.com/public_html/app/code/local/Mage/Core/Model/App.php(348): Mage_Core_Controller_Varien_Front->dispatch()
16/var/www/site.com/public_html/app/Mage.php(640): Mage_Core_Model_App->run(Array)
17/var/www/site.com/public_html/index.php(83): Mage::run('', 'store')
18{main}"
当我禁用 Magentohotel Varnish 模块时,我可以再次进入开发者部分!我非常感谢您的帮助@AlanStorm 谢谢。我不是开发人员,所以我并不完全喜欢 xDebug 之类的 :) 但我正在尽我所能