如何在Magento 1.7中启用开发人员模式


20

我正在尝试在使用Magento 1.7的站点上启用开发人员模式。到目前为止,我已经添加了:

SetEnv MAGE_IS_DEVELOPER_MODE "true"

.htaccess文件和:

...
if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
}
...

这里index.php描述的文件。我什至删除了该子句,只留下了:If

...
    Mage::setIsDeveloperMode(true);
...

在index.php文件中。但是仍然没有运气。我想念什么?我应该怎么做才能启用开发人员模式?


1
您的两种方法都应该起作用。“没有运气”是什么意思?发生了什么,使您说它不起作用?
马里乌斯

Answers:


26

index.php文件中尝试以下操作:

if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
    ini_set(’display_errors’, 1);
}

另外,请确保再次检查您是否拥有:

1.禁用缓存 系统>缓存管理>选择所有[复选框]>操作=禁用>提交

2.重新索引所有 系统>索引管理>选择所有[复选框]>操作= 重新索引数据>提交

3.禁用编译 系统>工具>编译>禁用

注意:默认情况下禁用编译模式。因此,只需检查编译器状态是否已启用。

4.打开日志 系统>配置>高级>开发人员>日志设置>启用=>是


Mage :: setIsDeveloperMode(true); 是票。干杯。
Darth Egregious

启用ini_set('display_errors',1)时,我会做任何事情;它的工作
Saeed Darvish

9

需要检查的三件事

  1. 您正在编辑错误的index.php/ .htaccess文件

  2. 您系统中还有其他自定义代码正在关闭开发人员模式

  3. 您对开发人员所做工作的期望是不正确的(描述期望不匹配可能会帮助人们调试问题)


谢谢艾伦!1. Im编辑文件位于文档根目录中。2.该系统是Magento的全新安装,因此不成问题。3.我预计错误会在浏览器窗口中弹出,而不是白色的空页面,这是我正在获得的atm。我的期望有点偏离吗?
fuumind 2014年

什么是display_errors php ini值?Web服务器的错误日志中有什么?
艾伦·斯托姆

Web服务器错误日志(当然)是查找的地方!感谢您指出了这一点!:)是否曾经在无法呈现的网页上出现错误,或者Magento是否因设计而无声地失败了?
fuumind 2014年

1

请在index.php文件中尝试以下操作:Move Mage :: setIsDeveloperMode(true); 来自If条件。


if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
    ini_set(’display_errors’, 1);
}

TO

Mage::setIsDeveloperMode(true); if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) { ini_set(’display_errors’, 1); }


0

也可能是由于服务器重定向。

请检查phpinfo输出并检查$_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']变量。

说明:

如果您正在使用Apache模块mod_rewrite并想要设置一些环境变量,则Apache手册说可以使用CGI在CGI中访问这些变量$ENV{VAR}。在PHP中,您可能需要编写代码$_ENV['VAR']以获取VAR的值,但是如果需要通过$_SERVER,则必须使用,并且以一些不同的方式进行访问:

  1. 示例:.htaccess和example.php

RewriteRule上的RewriteEngine ^?var1 =([[^;] ); var2 =([^;])$ \-[E = VAR1:$ 1,E = VAR2:$ 2]

  1. 示例:.htaccess和index.php

RewriteRule上的RewriteEngine ^ index.php $-[L] RewriteRule?var1 =([[^;] ); var2 =([^;])$ \ index.php [E = VAR1:$ 1,E = VAR2:$ 2]

注意:如果有任何RewriteRule匹配,则内部重定向将重新启动(在最后定义的规则之后,或者在具有L标志的匹配规则之后立即),再次检查整个规则集。对于内部重定向,每个定义的VAR都有一个“ REDIRECT_”前缀,即VAR1将是REDIRECT_VAR1,VAR2将是REDIRECT_VAR2。

当然,您可以(另外)重新定义原始VAR:

RewriteRule上的RewriteEngine ^ index.php $ \-[E = VAR1:%{REDIRECT_VAR1},E = VAR2:%{REDIRECT_VAR2},L] RewriteRule?var1 =([[^;] ); var2 =([^;]) $ \ index.php [E = VAR1:$ 1,E = VAR2:$ 2]

这样,您将拥有$_SERVER['REDIRECT_VAR*']$_SERVER['VAR*']


给出的示例仅用于说明,在任何情况下都不适合您的需求。.htaccess示例中的“ \”仅用于显示目的,不应出现在真实的.htaccess文件中。参数分隔符“;” 链接中也可以是“&”,但这可能会给HTML / XHTML带来麻烦。有关此问题的更多信息,请参见以下页面:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.