¿Cómo configuro el modo de desarrollador en Magento 2?

44

Estoy intentando instalar Magento 2 pero recibo el siguiente error:

Se produjo un error durante la ejecución de la aplicación. No se pudo escribir el mensaje de error para iniciar sesión. Utilice el modo desarrollador para ver el mensaje.

He intentado agregar SetEnv MAGE_MODE developera .htaccesslos consejos de Alan tormenta http://magento-quickies.alanstorm.com/post/58757471044/magento-2-developer-mode pero no hubo suerte.

Paul Donnelly
fuente
¿Estás usando apache o nginx? ¿Cómo estableció exactamente la variable ambiental?
user487772
@Tim Estoy usando Apache. Lo configuré agregándolo a la parte superior de .htaccess
Paul Donnelly
¿Agregar qué? Agregue toda esta información en su pregunta.
user487772
Tendrás que haber mod_envhabilitado Apache y AllowOverride Onen tu configuración de vhost para .htaccesspoder ser analizado.
Benmarks

Respuestas:

75

puedes habilitarlo desde el cli

bin/magento deploy:mode:set developer

Oshan Rube
fuente
30

Otra forma, podemos habilitar el modo desarrollador

  • Ir a app/etc/y abrirenv.php
  • y cambiar el modo de aplicación actual por MAGE_MODE' => 'default' aMAGE_MODE' => 'developer'

Entonces, por favor, vacíe el caché

Amit Bera
fuente
18

Como usted y otros han notado:

SetEnv MAGE_MODE "developer"

en su archivo .htaccess debería habilitar el modo de desarrollador suponiendo que AllowOverride All esté en la <Directory>directiva adecuada .

Sin embargo, en relación con su problema original, podría deberse a un problema de permisos en el que el usuario del proceso de Apache no tiene permisos de escritura en los directorios correctos.

Para una prueba rápida, puede hacer lo siguiente dentro de su directorio de Magento 2:

chmod -R a+wX var
chmod -R a+wX app/etc
chmod -R a+wX pub

Luego, si aparece el asistente de instalación, puede intentar asegurarse de tener los permisos correctos para su proceso de Apache en esos directorios.

Bryant Luk
fuente
1
Si bien todavía es posible anular el modo usando variables de entorno, el método preferido ahora es usar bin/magento. Ver devdocs.magento.com/guides/v2.0/config-guide/bootstrap/… y devdocs.magento.com/guides/v2.0/config-guide/cli/…
Fabian Schmengler
8

¿Estás usando mod_fastcgi + php-fpm? Me encontré con este problema como en ese entorno. La variable de entorno tenía el prefijo "REDIRECT_".

Pregunta relacionada sobre el intercambio de pila aquí: Apache SetEnv antecede a REDIRECT_. ¿Lo que da?

Pude resolver esto simplemente configurando la variable de entorno en el archivo de configuración del grupo php-fpm:

env[MAGE_MODE] = developer
beeplogic
fuente
8

Para cambiar el modo magento 2.0, debe ejecutar este comando php bin/magento deploy:mode:set developeren CMD o sus ventanas SSH en la carpeta raíz magento 2.0. Más información puede encontrar aquí y aquí .

Vasilii Burlacu
fuente
5

Vaya a su carpeta raíz de magento desde el símbolo del sistema y ejecute debajo del comando:

php bin/magento deploy:mode:set developer

Sheshgiri Anvekar
fuente
4

Si está utilizando el servidor web incorporado en PHP 5.4, debe configurar el ENV al iniciar el servidor:

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

Para obtener más información sobre cómo usar el servidor web incorporado de PHP 5.4, incluida la configuración de Magento 2, vea este screencast:

http://quick.as/kkbahnlx

philwinkle
fuente
4

Intente agregando la siguiente línea dentro de index.php al comienzo del archivo.

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

Espero que veas el mensaje de error.

satish-a
fuente
44
Me desaconsejaría mucho editar archivos principales como elindex.php
7ochem
1
Creo que esto debería estar fuera del repositorio de cualquier manera, por lo que una vez que lo cambie en local no hará demasiado mal.
Maciej Paprocki
4

Hola, he leído tu pregunta y por favor mira la solución.

Puede configurar el modo de desarrollador mediante el comando CLI y también manualmente

Para configurarlo manualmente:

abra su directorio raíz de magento 2, abra el archivo "/app/etc/env.php"y busque "'MAGE_MODE' =>". Puede cambiar el modo Magento aquí manualmente.

Comando CLI para el modo de producción:

magento deploy:mode:set production

Comando CLI para modo desarrollador:

magento deploy:mode:set developer

Para obtener más información, visite la siguiente URL. http://php-scripts-form.blogspot.nl/2017/09/magento-2-how-to-set-production-mode.html

puneek00
fuente
¿Cómo puedo ver el modo antes de cambiarlo?
Razvan Zamfir
@RazvanZamfir puede usar deploy:mode:showpara ver el modo actual.
Eric Seastrand
3

Si está utilizando NginX como servidor web ... .htaccess no afectará. Cambiar las directivas del servidor NginX habilitará el modo desarrollador.

por ejemplo: /etc/nginx/sites-available/m2_test.conf(suponiendo que nginx esté configurado correctamente)

server {
   listen 80;
   server_name m2.test.com;
   set $MAGE_ROOT path/to/magento2;
   set $MAGE_MODE developer;
   include other/configurations/file.conf;
}

Este conjunto $ MAGE_MODE activará el modo desarrollador.

other / configurations / file.conf debería vincularse a la ruta del archivo de configuraciones, que debería ser una copia[MAGENTO_DOC_ROOT]/nginx.conf.sample

Como otros han mencionado, php bin/magento deploy:mode:set developertambién lo habilitará

Dilhan Maduranga
fuente
¿Tengo que configurar el modo desarrollador en nginx conf y desde la consola magento? ¿Qué sucede si uno es desarrollador y uno de producción?
LucScu
3

Cuando cambia del modo de producción al modo de desarrollador, debe borrar las clases generadas y las entidades de Object Manager como proxies para evitar errores inesperados. Después de hacerlo, puede cambiar los modos. Use los siguientes pasos:

  1. Si está cambiando del modo de producción al modo de desarrollador, elimine el contenido de los directorios var / generation y var / di:

    rm -rf <your Magento install dir>/var/di/* <your Magento install dir>/var/generation/* 
  2. Establecer el modo:

    magento deploy:mode:set developer

Se mostrará el siguiente mensaje

   Switched to developer mode.
Manish
fuente
0

asegúrese de dar permiso

sudo chmod 777 . -R

después de esto

php bin/magento deploy:mode:set developer

de lo contrario, permiso denegado

pálido
fuente
0

Según DEVDOCS, aquí está la solución para usted.

Si está cambiando del modo de producción al modo de desarrollador, debe borrar todas las clases y objetos generados.

Ejecute esta línea de código en CLI para eliminar el contenido del Código generado y los Directorios de metadatos generados.

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

Para configurar el modo

$bin / magento deploy : mode : set developer

Después de ejecutar este comando, mostrará un mensaje sobre Habilita el modo de desarrollador

Henry Roger
fuente