问题描述
我正在尝试安装Magento 2,但是我收到以下错误:
Error happened during application run. Could not write error message to log. Please use developer mode to see the message.
我已经尝试按照Alan Storm http://magento-quickies.alanstorm.com/post/58757471044/magento-2-developer-mode的建议将SetEnv MAGE_MODE developer
添加到.htaccess
但没有运气。
最佳解决方法
你可以从cli启用它
bin/magento deploy:mode:set developer
次佳解决方法
另一种方式,我们可以启用开发者模式
-
转到
app/etc/
并打开env.php
-
并通过
MAGE_MODE' => 'default'
将当前的应用模式更改为MAGE_MODE' => 'developer'
然后,请刷新缓存
第三种解决方法
正如您和其他人所说:
SetEnv MAGE_MODE "developer"
在.htaccess文件中应该启用开发人员模式,假设AllowOverride All位于正确的<Directory>
指令中。
但是,与原始问题相关,可能是由于Apache进程用户没有对正确目录的写权限的权限问题。
要进行快速测试,您可以在Magento 2目录中执行以下操作:
chmod -R a+wX var
chmod -R a+wX app/etc
chmod -R a+wX pub
然后,如果弹出安装向导,您可以尝试确保在这些目录上拥有对Apache进程的正确权限。
第四种方法
要更改magento 2.0模式,您必须在CMD中运行此命令php bin/magento deploy:mode:set developer
,或在SSH窗口中运行magento 2.0根文件夹。您可以在here和here找到更多信息。
第五种方法
您使用的是mod_fastcgi + php-fpm吗?我在那个环境中遇到了这个问题。环境变量以”REDIRECT_”为前缀。
有关堆栈交换的相关问题:Apache SetEnv prepends REDIRECT_ . What gives?
我只需在php-fpm池配置文件中设置环境变量即可解决此问题:
env[MAGE_MODE] = developer
第六种方法
从命令提示符转到magento根文件夹,并执行以下命令:
php bin/magento deploy:mode:set developer
第七种方法
如果您在PHP 5.4中使用内置 Web服务器,则需要在启动服务器时设置ENV:
MAGE_MODE=developer php -d variables_order=EGPCS -S 127.0.0.1:8080 router.php
有关如何使用PHP 5.4的内置网络服务器的更多信息,包括Magento 2的设置,请参阅此截屏视频:
第八种方法
嗨,我已阅读您的问题,请参阅解决方案。
您可以通过CLI命令设置开发者模式,也可以手动设置
要手动设置:
打开magento 2根目录,打开文件"/app/etc/env.php"
并搜索"'MAGE_MODE' =>"
。您可以手动更改magento模式。
生产模式的CLI命令:
magento deploy:mode:set production
开发者模式的CLI命令:
magento deploy:mode:set developer
有关更多信息,请访问以下URL。 http://php-scripts-form.blogspot.nl/2017/09/magento-2-how-to-set-production-mode.html
第九种方法
如果您使用NginX作为Web服务器… .htaccess将不会影响。更改NginX Server指令将启用开发人员模式。
例如:/etc/nginx/sites-available/m2_test.conf
(假设nginx配置正确)
server {
listen 80;
server_name m2.test.com;
set $MAGE_ROOT path/to/magento2;
set $MAGE_MODE developer;
include other/configurations/file.conf;
}
此设置$ MAGE_MODE将打开开发人员模式。
其他/configurations /file.conf应该链接到配置文件路径,该路径应该是[MAGENTO_DOC_ROOT]/nginx.conf.sample
的副本
正如其他人所提到的,php bin/magento deploy:mode:set developer
也将启用它
第十种方法
当您从生产模式更改为开发人员模式时,应清除生成的类和对象管理器实体(如代理)以防止意外错误。完成后,您可以更改模式。使用以下步骤:
-
如果要从生产模式更改为开发人员模式,请删除var /generation和var /di目录的内容:
rm -rf <your Magento install dir>/var/di/* <your Magento install dir>/var/generation/*
-
设置模式:
magento deploy:mode:set developer
将显示以下消息
Switched to developer mode.