我正在使用MAMP Pro驱动服务器,因此我可以在本地开发Magento站点.我是Magento开发的新手,因为我编码的几个错误而最终重新开始.我删除了以前的数据库,在MAMP Pro中创建了一个新的URL(即devmagento.com:8888),它指向我创建的新文件夹,将Magento社区版本放入文件夹,完成安装过程,一切安装完美.安装完成后,我尝试进入Manage Categories页面,发现它加载了标题的一部分,直到它"登录为bassplayer7".之后什么也没有 - 只是灰色.所有其他管理页面都有效(我没有尝试过每一个,但我尝试过的那些).
除了重新索引和关闭缓存之外,我没有在进入类别页面之前进行任何更改.没有上传,没有配置更改等
在解决问题时,我打开了日志记录(在Admin> Config中)和Profiler.日志记录似乎只记录前端.
关于要寻找什么,我有点不知所措.我也进入了var/cache,并清除了它.
任何帮助表示赞赏!!
在新的Magento开发主机上,首先要做的事情之一是打开开发人员模式.
原因是,默认情况下,Magento将尝试隐藏所有错误消息,除非启用了开发人员模式.
有几种方法可以实现这一目标.前两个选项只能被视为快速黑客,因为它们不是升级安全的.第三种选择是正确的方法.
选项1
在Magento根目录中,您将看到一个名为.htaccess
Put的文件,该代码位于该文件的顶部或底部.
SetEnv MAGE_IS_DEVELOPER_MODE 1
Run Code Online (Sandbox Code Playgroud)
重新加载后端页面,希望您会看到一条错误消息.
警告:.htaccess文件是Magento核心的一部分,在升级过程中将被覆盖.也不要将其部署到具有该设置的实时服务器.
选项2在Magento根目录中
打开该文件index.php.
在第66行附近,您将看到以下代码:
if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
Mage::setIsDeveloperMode(true);
}
Run Code Online (Sandbox Code Playgroud)
更改,以便无论MAGE_IS_DEVELOPER_MODE设置如何都启用开发人员模式.
if (true || isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
Mage::setIsDeveloperMode(true);
}
Run Code Online (Sandbox Code Playgroud)
警告:index.php文件也是Magento核心的一部分,它将在升级过程中被覆盖,就像.htaccess文件一样.也不要将其部署到具有该设置的实时服务器.
选项3
启用开发人员模式的正确方法是将设置放在apache配置中,例如vhost声明.我不知道MAMP Pro在哪里保留它们,但是对于OS XI上的常规apache,请使用/etc/apache2/extra/httpd-vhosts.conf来配置我的开发主机.这是一个示例条目:
<VirtualHost *:80>
DocumentRoot "/path/to/my/workspace/magento.dev/htdocs"
ServerName magento.dev
SetEnv MAGE_IS_DEVELOPER_MODE 1
ErrorLog "/private/var/log/apache2/magento-error_log"
CustomLog "/private/var/log/apache2/magento-access_log" common
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
这样做的好处是,您可以将未更改的所有文件从开发服务器部署到登台服务器,从登台服务器部署到实时服务器.
进一步调试
启用开发人员模式后,您将希望看到错误消息,而不仅仅是灰色屏幕.
如果这没有帮助(仍然没有消息),请检查Magento日志文件.它们位于子文件夹中的Magento根目录中
检查它们是否有任何错误消息,例如"无效块类"或"无效模板...".
仍然没有运气?
检查Apache或PHP错误日志.它们位于Magento安装之外,位置取决于系统配置.也许仍然需要启用PHP错误日志记录.请与MAMP Pro一起查看如何使用该捆绑包.
有问题的PHP设置是log_errors.
说到PHP设置 ......您还需要确保display_errors设置为On.否则,无论开发人员模式如何,大多数硬核错误(例如,中止编译的语法错误)都将不可见.