Как установить режим разработчика в Magento 2


44

Я пытаюсь установить Magento 2, но получаю следующую ошибку:

Ошибка произошла во время запуска приложения. Не удалось записать сообщение об ошибке в журнал. Пожалуйста, используйте режим разработчика, чтобы увидеть сообщение.

Я попытался добавить SetEnv MAGE_MODE developerв .htaccessсоответствии с рекомендациями Алана Шторма http://magento-quickies.alanstorm.com/post/58757471044/magento-2-developer-mode, но не повезло.


Вы используете apache или nginx? Как именно вы установили переменную среды?
user487772

@ Я использую Apache. Я установил это, добавив это к вершине .htaccess
Пол Доннелли

Добавление чего? Пожалуйста, добавьте всю эту информацию в свой вопрос.
user487772

Вы должны будете mod_envвключить для Apache и AllowOverride Onв вашей конфигурации vhost для .htaccessанализа.
отметки

Ответы:



30

Другой способ, мы можем включить режим разработчика

  • Перейти app/etc/и открытьenv.php
  • и измените текущий режим приложения MAGE_MODE' => 'default' наMAGE_MODE' => 'developer'

Тогда, пожалуйста, очистите кеш


18

Как вы и другие отметили:

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 в этих каталогах.


1
Хотя все еще возможно переопределить режим, используя переменные среды, предпочтительный метод теперь должен использовать bin/magento. См. Devdocs.magento.com/guides/v2.0/config-guide/bootstrap/… и devdocs.magento.com/guides/v2.0/config-guide/cli/…
Фабиан Шменглер,

8

Вы используете mod_fastcgi + php-fpm? Я столкнулся с этой проблемой, как в этой среде. Переменная среды получала префикс «REDIRECT_».

Связанный вопрос об обмене стека здесь: Apache SetEnv предваряет REDIRECT_. Что дает?

Я смог решить эту проблему, просто установив переменную окружения в файле конфигурации пула php-fpm:

env[MAGE_MODE] = developer

8

Чтобы изменить режим magento 2.0, вы должны выполнить эту команду php bin/magento deploy:mode:set developerв CMD или в окнах SSH в корневой папке magento 2.0. Более подробную информацию вы можете найти здесь и здесь .


5

Перейдите в корневую папку magento из командной строки и введите следующую команду:

php bin/magento deploy:mode:set developer


4

Если вы используете встроенный веб-сервер в PHP 5.4, вам нужно установить ENV при запуске сервера:

MAGE_MODE=developer php -d variables_order=EGPCS -S 127.0.0.1:8080 router.php

Для получения дополнительной информации о том, как использовать встроенный веб-сервер в PHP 5.4, включая настройку Magento 2, смотрите эту заставку:

http://quick.as/kkbahnlx


4

Пожалуйста, попробуйте добавить следующую строку в index.php в начале файла.

$_SERVER['MAGE_MODE'] = 'developer';

Надеюсь, вы увидите сообщение об ошибке.


4
Я очень не рекомендую редактировать основные файлы, такие какindex.php
7ochem

1
Я полагаю, что в любом случае это должно быть вне репо, так что если вы измените его на локальный, это на самом деле не будет слишком плохим.
Мацей Папроцки

4

Привет, я прочитал ваш вопрос и, пожалуйста, посмотрите решение.

Вы можете установить режим разработчика командой 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


Как я могу увидеть режим до его изменения?
Разван Замфир

@RazvanZamfir вы можете использовать, deploy:mode:showчтобы увидеть текущий режим.
Эрик Сеастранд

3

Если вы используете NginX в качестве веб-сервера ... .htaccess не повлияет. Изменение директив сервера NginX включит режим разработчика.

например: /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 включает режим разработчика.

other / configurations / file.conf должен указывать путь к файлу конфигурации, который должен быть копией[MAGENTO_DOC_ROOT]/nginx.conf.sample

Как уже упоминали другие, php bin/magento deploy:mode:set developerтакже позволит это


Должен ли я установить режим разработчика как в Nginx Conf и из консоли Magento? Что произойдет, если один разработчик и один продакшн?
LucScu

3

При переходе из производственного режима в режим разработчика необходимо очистить сгенерированные классы и объекты Object Manager, например прокси, чтобы предотвратить непредвиденные ошибки. После этого вы можете изменить режимы. Используйте следующие шаги:

  1. Если вы переходите из производственного режима в режим разработчика, удалите содержимое каталогов var / generation и var / di:

    rm -rf <your Magento install dir>/var/di/* <your Magento install dir>/var/generation/* 
  2. Установите режим:

    magento deploy:mode:set developer

Будет отображено следующее сообщение

   Switched to developer mode.

0

обязательно дай разрешение

sudo chmod 777 . -R

после того

php bin/magento deploy:mode:set developer

в противном случае в разрешении отказано


0

Согласно DEVDOCS, вот решение для вас.

Если вы переходите из производственного режима в режим разработчика, вам необходимо очистить все созданные классы и объекты.

Запустите эту строку кода в CLI, чтобы удалить содержимое сгенерированного кода и сгенерированных каталогов метаданных.

$rm rf <magento_root>/ generated/metadata/* <magento_root>/generated/code/*

Чтобы установить режим

$bin / magento deploy : mode : set developer

После выполнения этой команды будет отображаться сообщение о включении режима разработчика

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.