Як встановити режим розробника в Magento 2


44

Я намагаюся встановити Magento 2, але я отримую таку помилку:

Під час запуску програми сталася помилка. Не вдалося записати повідомлення про помилку в журнал. Для перегляду повідомлення використовуйте режим розробника.

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


Ви використовуєте apache або nginx? Як саме ви встановили екологічну змінну?
user487772

@Tim я використовую 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/…
Fabian Schmengler

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для перегляду поточного режиму.
Eric Seastrand

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

Коли ви переходите від режиму виробництва до режиму розробника, вам слід очистити згенеровані класи та об’єкти диспетчера об'єктів, як проксі, щоб запобігти несподіваним помилкам. Після цього ви можете змінити режими. Виконайте наступні дії:

  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.