Bagaimana cara mengatur Mode Pengembang di Magento 2


44

Saya mencoba menginstal Magento 2 tetapi saya mendapatkan kesalahan berikut:

Kesalahan terjadi selama menjalankan aplikasi. Tidak dapat menulis pesan kesalahan untuk dicatat. Silakan gunakan mode pengembang untuk melihat pesan.

Saya telah mencoba menambahkan SetEnv MAGE_MODE developeruntuk .htaccessseperti yang disarankan oleh Alan Badai http://magento-quickies.alanstorm.com/post/58757471044/magento-2-developer-mode tetapi tidak berhasil.


Apakah Anda menggunakan apache atau nginx? Bagaimana tepatnya Anda mengatur variabel lingkungan?
user487772

@Tim saya menggunakan Apache. Saya mengaturnya dengan menambahkannya ke bagian atas .htaccess
Paul Donnelly

Menambahkan apa? Silakan tambahkan semua info ini ke pertanyaan Anda.
user487772

Anda harus mod_envmengaktifkan untuk Apache dan AllowOverride Ondalam konfigurasi vhost Anda .htaccessuntuk diuraikan.
tanda harga

Jawaban:


75

Anda dapat mengaktifkannya dari cli

bin/magento deploy:mode:set developer


30

Cara lain, kita dapat mengaktifkan mode pengembang

  • Goto app/etc/dan terbukaenv.php
  • dan ubah mode aplikasi saat ini MAGE_MODE' => 'default' menjadi keMAGE_MODE' => 'developer'

Kemudian, tolong siram cache


18

Seperti yang Anda dan orang lain perhatikan:

SetEnv MAGE_MODE "developer"

dalam file .htaccess Anda harus mengaktifkan mode pengembang dengan asumsi bahwa AllowOverride All berada di <Directory>arahan yang tepat .

Terkait dengan masalah awal Anda, mungkin karena masalah izin di mana pengguna proses Apache tidak memiliki izin menulis ke direktori yang benar.

Untuk tes cepat, Anda dapat melakukan hal berikut di dalam direktori Magento 2 Anda:

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

Kemudian jika wisaya instalasi muncul, Anda dapat mencoba memastikan Anda memiliki izin yang benar untuk proses Apache Anda pada direktori tersebut.


1
Meskipun masih mungkin untuk mengganti mode menggunakan variabel lingkungan, metode yang disukai sekarang untuk digunakan bin/magento. Lihat devdocs.magento.com/guides/v2.0/config-guide/bootstrap/… dan devdocs.magento.com/guides/v2.0/config-guide/cli/…
Fabian Schmengler

8

Apakah Anda menggunakan mod_fastcgi + php-fpm? Saya mengalami masalah ini seperti di lingkungan itu. Variabel lingkungan semakin diawali dengan "REDIRECT_".

Pertanyaan terkait pertukaran stack di sini: Apache SetEnv prepends REDIRECT_. Apa yang menyebabkannya?

Saya dapat menyelesaikan ini dengan hanya mengatur variabel lingkungan di file konfigurasi pool php-fpm:

env[MAGE_MODE] = developer

8

Untuk mengubah mode magento 2.0 Anda harus menjalankan perintah ini php bin/magento deploy:mode:set developerdi CMD atau jendela SSH Anda ke folder root magento 2.0. Informasi lebih lanjut dapat Anda temukan di sini dan di sini .


5

Buka folder root magento Anda dari command prompt dan jalankan perintah di bawah ini:

php bin/magento deploy:mode:set developer


4

Jika Anda menggunakan server web bawaan di PHP 5.4, Anda perlu mengatur ENV saat memulai server:

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

Untuk informasi lebih lanjut tentang cara menggunakan server web bawaan PHP 5.4, termasuk pengaturan Magento 2 lihat screencast ini:

http://quick.as/kkbahnlx


4

Silakan coba dengan menambahkan baris berikut di dalam index.php di file awal.

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

Semoga Anda akan melihat pesan kesalahan.


4
Saya akan sangat menyarankan untuk mengedit file inti sepertiindex.php
7ochem

1
Saya percaya ini harus keluar dari repo baik cara, jadi setelah Anda mengubahnya di lokal tidak akan terlalu buruk.
Maciej Paprocki

4

Hai Saya sudah membaca pertanyaan Anda dan silakan lihat solusinya.

Anda dapat mengatur mode pengembang dengan perintah CLI dan juga secara manual

Untuk mengaturnya secara manual:

buka direktori root magento 2 Anda, Buka file "/app/etc/env.php"dan cari "'MAGE_MODE' =>". Anda dapat mengubah mode magento di sini secara manual.

Perintah CLI untuk mode produksi:

magento deploy:mode:set production

Perintah CLI untuk mode pengembang:

magento deploy:mode:set developer

untuk informasi lebih lanjut silakan kunjungi URL di bawah ini. http://php-scripts-form.blogspot.nl/2017/09/magento-2-how-to-set-production-mode.html


Bagaimana saya bisa melihat mode sebelum mengubahnya?
Razvan Zamfir

@RazvanZamfir dapat Anda gunakan deploy:mode:showuntuk melihat mode saat ini.
Eric Seastrand

3

Jika Anda menggunakan NginX sebagai server web ... .htaccess tidak akan memengaruhi. Mengubah NginX Server Directive akan mengaktifkan mode pengembang.

misalnya: /etc/nginx/sites-available/m2_test.conf(Dengan asumsi nginx dikonfigurasi dengan benar)

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

Set $ MAGE_MODE ini akan mengaktifkan mode pengembang.

other / configurationations / file.conf harus menautkan ke jalur file konfigurasi yang seharusnya merupakan salinan[MAGENTO_DOC_ROOT]/nginx.conf.sample

Seperti yang telah disebutkan orang lain, php bin/magento deploy:mode:set developerjuga akan memungkinkannya


apakah saya harus mengatur mode pengembang di nginx conf dan dari magento console? Apa yang terjadi jika satu adalah pengembang dan satu produksi?
LucScu

3

Ketika Anda mengubah dari produksi ke mode pengembang, Anda harus menghapus kelas yang dihasilkan dan entitas Object Manager seperti proxy untuk mencegah kesalahan yang tidak terduga. Setelah melakukannya, Anda dapat mengubah mode. Gunakan langkah-langkah berikut:

  1. Jika Anda mengubah dari mode produksi ke mode pengembang, hapus konten direktori var / generation dan var / di:

    rm -rf <your Magento install dir>/var/di/* <your Magento install dir>/var/generation/* 
  2. Atur mode:

    magento deploy:mode:set developer

Pesan berikut akan ditampilkan

   Switched to developer mode.

0

pastikan memberi izin

sudo chmod 777 . -R

setelah itu

php bin/magento deploy:mode:set developer

jika tidak, izin ditolak


0

Per DEVDOCS di sini adalah solusi untuk Anda.

Jika Anda mengubah dari Mode Produksi ke Mode Pengembang Anda harus menghapus semua kelas dan Objek yang dihasilkan.

Jalankan baris kode ini di CLI untuk menghapus konten Generated Code dan Generated Meta Data Directories.

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

Untuk mengatur Mode-

$bin / magento deploy : mode : set developer

Setelah menjalankan perintah ini, itu akan menampilkan pesan tentang Mengaktifkan Mode Pengembang

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.