Magento 2: 500 Dahili Sunucu Hatası


10

Magento dev belgelerini aşağıdaki gibi takip ettim:

Yeni bir .html şablonu ekleyip düzenlerseniz, değişiklikler aşağıdakileri yapana kadar uygulanmaz: pub / static / frontend ve var / view_preprocessing dizinlerindeki tüm dosyaları silin ve sayfaları yeniden yükleyin. Dosyaları manuel olarak silebilir veya CLI'da grunt clean: komutunu çalıştırabilirsiniz. Magento'da Grunt kullanma hakkında ayrıntılar için Grunt'u Yükleme ve Yapılandırma konusuna bakın.

Ancak şimdi htaccess ile ayarlanan geliştirici modunda, site ve yönetici URL'lerinde Internal Server Error 500 alıyorum. Oluşturulacak temizlenmiş dosyaları arıyorsa bu önbellek sorunu mu?


2
hata günlüğünüzü kontrol edin.
MagenX

dahili sunucu 500 dosya izni nedeniyle gelir, sadece dosyaya 755 ve dosyaya 644 verin
Alam Zaib

Yanıtlar:


12

geliştirici modunda dosyalar istendiğinde ve bulunamadığında otomatik olarak oluşturulur. Yani bu bir Sorun olmamalı.

500 hatasıyla karşılaştığınızda yapmanız gereken ilk şey web sunucusu hata günlüğünüzü aramaktır.

Apache üzerinde çalışırken çoğunlukla şu 2 konumdan birinde bulunabilir:

/ var / log / httpd / -> centos, archlinux ...

/ var / log / apache2 / -> debian, ubuntu ...


5

Magento kökünde aşağıdaki komutu çalıştırmayı deneyin ve bu komutu çalıştırmadan önce kurulum dizinine tam izinleri verin

php bin/magento setup:static-content:deploy -f

3

Çözüm: Dahili Sunucu Hatası !! Magento 2.2.2 Çok Önemli !! özellikle windows10'daki WAMPserver için

  1. Lütfen httpd.conf dosyasından LoadModule version_module modülleri / mod_version.so'nun yüklendiğinden emin olun, Bu hata Magento 2.2.2'de Dahili Sunucu Hatası'na neden olur ve aşağıdaki ayar "#" varsa, lütfen "#" öğesini kaldırın.

LoadModule version_module modülleri / mod_version.so

  1. yeni bir klasör oluşturun ve / pub / aşağıdaki gibi görünüyor sonra "statik" olarak adlandırın: http: // localhost / magento222 / pub / static / "statik" klasörü sağ tıklayın ve yazılabilir olduğundan emin olmak için özelliği tıklayın.

  2. magento222 için eski mysql veritabanınızı silin ve temiz ve güvenli bir kurulum yapmak için yeni bir veritabanı oluşturun.

PS: Sür. 2.2.2 kararlı bir sürüm değildir.


2

CentOS 7'de, güvenlik duvarı ayarlarını aşağıdaki komutla devre dışı bıraktım:

$ setenforce 0

ve bu kadar. Sorun çözüldü. ile RHEL 7 and CentOS 7, SELinux'un sistemi daha güvenli hale getirir ama Olmayan Linux millet için zorluklar bir sürü teşkil etmektedir.


2

Lütfen önce .htaccess'i kontrol edin. Modülün kullanılabilirliği etkin değil. Çünkü mod_version modülü nedeniyle bu sorunla karşılaştım, bu yüzden apache'den etkinleştirdim ve şimdi çalışıyor.

Ayrıca .htaccess dosyanızı değiştirerek de kontrol edebilir veya .htaccess dosyanızın sorununu onaylamak için yeniden adlandırmış olabilirsiniz.

teşekkür ederim


2
.htaccess dosyasını değiştirdim ve sorunu
çözdüm

1
  1. Bunun nedeni yanlış dosya izinleri olabilir.
  2. CHMOD yaptığınızdan emin olun "user":"group" "magento install DIR"

1

Sabah da aynı durumla karşılaştım ama @david cevap sayesinde.

Apache'nin günlük dizini üzerine biraz araştırma yaptıktan sonra, apache'nin app / etc / klasörünü okuma izninizin olmadığını öğrendim .

Yani, izin verdikten sonra tüm iyi çalışıyor.


1
Lütfen bana yolu söyle.
jafar pinjar

Linux ortamındaysanız, genellikle / var / log / apache2 veya / var / log / httpd /
Deepanshu Jain

1

Benim durumumda, sahiplik sorunları nedeniyle. Ben ubuntu os kullanıyordum, bu yüzden sahipliği düzeltmek için aşağıdaki komutu kullandım.

sudo useradd magento

Şimdi bu eflatun kullanıcıyı web sunucusunun kullanıcı grubuyla ilişkilendirin. Ubuntu'da varsayılan olarak www-data

sudo usermod -g www-data magento

Şimdi terminaldeki Magento proje dizininde gezinin ve aşağıdaki komutları çalıştırın.

sudo find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \; sudo find var vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} \; sudo chown -R magento:www-data . sudo chmod u+x bin/magento

Bu komutlar başarıyla çalıştırıldıktan sonra Magento kullanıcısı, Magento kurulumu için gereken tüm izinlere sahiptir.

Aşağıdaki komutla apache sunucusunu yeniden başlatın

sudo systemctl restart apache2


kodunuz bana publiv_html klasörünün sahipliğini kaybetmeme ve içeride her zaman, sorunu olan herkes, kanalları geri almak için bu komutu çalıştırmalıdır: i için cat /etc/trueuserdomains | awk '{print $2}' > do> chown $ i. $ i / home / $ i -R; > chown $ i.mail / home / $ i / etc -R; > chown $ i.nobody / home / $ i / public_html; > chmod 750 / home / $ i / public_html; > bitti;
The Dead Guy

@TheDeadGuy, çok eski bir yorumdu. Bunun için özür dilerim. Şimdi cevabımı düzenledim, lütfen bunu deneyin.
Mukesh Ojha

affedilirsiniz;)
Ölü Adam


0

Magento 2.2.4 kullanıyorsanız. Ardından önce Apache günlük dizinine gidin ve

[Wed May 30 00:58:17.857269 2018] [core:alert] [pid 7184:tid 1244] [client 127.0.0.1:65528] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration
[Wed May 30 00:58:42.568180 2018] [core:alert] [pid 7184:tid 1248] [client 127.0.0.1:49165] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration
[Wed May 30 00:59:01.667499 2018] [core:alert] [pid 7184:tid 1252] [client 127.0.0.1:49169] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration
[Wed May 30 01:00:04.655715 2018] [core:alert] [pid 7184:tid 1272] [client 127.0.0.1:49174] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration
[Wed May 30 01:00:35.151803 2018] [core:alert] [pid 7184:tid 1272] [client 127.0.0.1:49201] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration

Günlüğe göre, asıl sorun bir .htaccess dosyasıdır. Tam nedeni bilmiyorum ama aşağıdaki kodu .htaccess dosyasından kaldırmak çalışıyor.

Dosya etiketi kodunu kaldırın.

<Files composer.json>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files composer.lock>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .gitignore>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .htaccess>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .htaccess.sample>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .php_cs.dist>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .travis.yml>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files CHANGELOG.md>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files COPYING.txt>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files Gruntfile.js>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files LICENSE.txt>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files LICENSE_AFL.txt>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files nginx.conf.sample>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files package.json>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files php.ini.sample>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files README.md>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files auth.json>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files magento_umask>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>

Not: Gelecekte sorun olup olmayacağını bilmiyorum. Ama bana yardım et.


0

Bir saat boyunca mücadele etti ve nihayet sorun proxy ayarlarını kaldırdıktan sonra çözüldü. Bu sorunla karşılaşan herkes proxy ayarlarınızı kontrol edin.



0

Bu çok karmaşık bir konudur.

Bunun için çok olası neden olabilir. Rastgele gitmekten daha iyi, sorunu ayıkla.

/ var / log / apache2'ye gitmek için apache2 kullanıyorsanız ve error.log'u bulacaksınız, diğer durumlarda bunun neden olmasının belirli bir nedenini bulacaksınız. Ve internette bir arama ile çözüldü.

Olası Sorun:

  • Varolan siteden dosya ve veritabanı kopyalayıp yeni sunucuya directoly koyarsanız, bazı uyumluluk sorunu olabilir, bu için bir freash kopyası yükleyin ve yüklemeye çalışın, eksik olanı bulacaksınız
  • Yeni Magento sürümünde, oluşturulan adlı özel bir klasör var . Bu yazma izni olmalı.
  • Diğer bir ana neden genel dosya iznidir. Var, oluşturulan, satıcı, uygulama / vb, pub / medya ve pub / statik düzgün yazma erişimine sahip olduğundan emin olun .
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.