Magento 2: 500 Interner Serverfehler

10

Ich habe die folgenden Magento-Entwicklungsdokumente befolgt:

Wenn Sie eine neue HTML-Vorlage hinzufügen und diese dann bearbeiten, werden die Änderungen erst wirksam, wenn Sie folgende Schritte ausführen: Löschen Sie alle Dateien in den Verzeichnissen pub / static / frontend und var / view_preprocessing und laden Sie die Seiten neu. Sie können die Dateien manuell löschen oder den Befehl grunt clean: in der CLI ausführen. Ausführliche Informationen zur Verwendung von Grunt in Magento finden Sie unter Installieren und Konfigurieren von Grunt.

Im jetzt über htaccess eingestellten Entwicklermodus erhalte ich jedoch den Internal Server Error 500 über Site- und Admin-URLs hinweg. Ist das ein Caching-Problem, wenn nach den gelöschten Dateien zum Rendern gesucht wird?

Matthew McLennan
quelle
2
Überprüfen Sie Ihr Fehlerprotokoll.
MagenX
Der interne Server 500 kommt aufgrund einer Dateiberechtigung. Geben Sie einfach 755 an den Ordner und 644 an die Datei
Alam Zaib,

Antworten:

11

Im Entwicklermodus werden die Dateien automatisch generiert, wenn sie angefordert und nicht gefunden werden. Das sollte also kein Problem sein.

Wenn ein 500-Fehler auftritt, sollten Sie zunächst nach Ihrem Webserver-Fehlerprotokoll suchen.

Wenn es mit Apache ausgeführt wird, befindet es sich meistens an einer dieser beiden Stellen:

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

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

David Verholen
quelle
5

Versuchen Sie, den folgenden Befehl im Magento-Stammverzeichnis auszuführen, und geben Sie dem Installationsverzeichnis die vollständigen Berechtigungen, bevor Sie diesen Befehl ausführen

php bin/magento setup:static-content:deploy -f
Gaurav Patel
quelle
2

Unter CentOS 7 habe ich die Firewall-Einstellungen mit dem folgenden Befehl deaktiviert:

$ setenforce 0

und das ist es. Das Problem wird behoben. Mit RHEL 7 and CentOS 7SELinux wird das System sicherer, aber es stellt Nicht-Linux-Leute vor große Herausforderungen.

Rajveer
quelle
2

Lösung: Interner Serverfehler !! Magento 2.2.2 Sehr wichtig !! speziell für WAMPserver in Windows 10

  1. Bitte stellen Sie sicher, dass LoadModule version_module modules / mod_version.so von httpd.conf geladen wird. Dieser Fehler verursacht einen internen Serverfehler von Magento 2.2.2. Wenn die folgende Einstellung "#" lautet, entfernen Sie bitte "#".

LoadModule version_module modules / mod_version.so

  1. Erstellen Sie einen neuen Ordner und nennen Sie ihn "statisch" nach / pub / sieht folgendermaßen aus: http: // localhost / magento222 / pub / static / Klicken Sie mit der rechten Maustaste auf den Ordner "statisch" und klicken Sie auf die Eigenschaft, um sicherzustellen, dass er beschreibbar ist.

  2. Löschen Sie Ihre alte MySQL-Datenbank für magento222 und erstellen Sie eine neue, um eine saubere und sichere Installation zu ermöglichen.

PS: Ver. 2.2.2 ist keine stabile Version.

Simon Chang
quelle
2

Bitte überprüfen Sie zuerst .htaccess. Möglichkeit des Moduls nicht aktiviert. Weil ich dieses Problem wegen des Mod_Versionsmoduls hatte, habe ich es von Apache aus aktiviert und jetzt funktioniert es.

Sie können dies auch überprüfen, indem Sie Ihre .htaccess-Datei ersetzen oder umbenennen, um die Ausgabe der .htaccess-Datei zu bestätigen.

Vielen Dank

Savoo
quelle
2
Ich habe .htaccess-Datei ersetzt und Problem behoben, danke
Sagar Dobariya
1
  1. Dies kann auch an falschen Dateiberechtigungen liegen.
  2. Stellen Sie sicher, dass Sie CHMOD zu "user":"group" "magento install DIR"
Runehm
quelle
1

Ich bin auch am Morgen auf die gleiche Situation gestoßen, aber dank @david Antwort.

Nach ein wenig Recherche im Protokollverzeichnis von Apache habe ich erfahren, dass Apache keine Berechtigung zum Lesen von app / etc / folder hat.

Also, nach Erlaubnis alles funktioniert gut.

Deepanshu Jain
quelle
1
Bitte sag mir den Weg.
Jafar Pinjar
Wenn Sie sich in einer Linux-Umgebung befinden, ist dies normalerweise / var / log / apache2 oder / var / log / httpd /
Deepanshu Jain
1

In meinem Fall liegt es an den Eigentumsfragen. Ich habe Ubuntu OS verwendet, also habe ich den folgenden Befehl verwendet, um den Besitz zu korrigieren.

sudo useradd magento

Verknüpfen Sie diesen Magento-Benutzer nun mit der Benutzergruppe des Webservers. In Ubuntu sind es standardmäßig www-Daten

sudo usermod -g www-data magento

Navigieren Sie nun im Magento-Projektverzeichnis im Terminal und führen Sie die folgenden Befehle aus.

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

Sobald diese Befehle erfolgreich ausgeführt wurden, verfügt der Magento-Benutzer über alle erforderlichen Berechtigungen, unabhängig vom erforderlichen Magento-Setup.

Starten Sie den Apache-Server mit dem folgenden Befehl neu

sudo systemctl restart apache2

Mukesh Ojha
quelle
Ihr Code hat mich gekostet, den Besitz meines Ordners publiv_html zu verlieren, und jeder, der das Problem hat, sollte diesen Befehl ausführen, um Chanes zurückzusetzen: für 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; > fertig;
Der Tote
@ TheDeadGuy, es war ein zu alter Kommentar. Ich habe mich dafür entschuldigt. Jetzt habe ich meine Antwort bearbeitet, bitte versuchen Sie es damit.
Mukesh Ojha
dir ist vergeben;)
The Dead Guy
0

scheint nur zu index.php brauchen

PHP-Fehler anzeigen PHP-Fehler anzeigen

und danach kann behoben werden

in meinem fall - war erlaubnis für dirs

Alex
quelle
0

Wenn Sie Magento 2.2.4 verwenden. Gehen Sie dann zuerst zum Apache-Protokollverzeichnis und

[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

Laut Protokoll ist das Hauptproblem eine .htaccess-Datei. Ich kenne den genauen Grund nicht, aber der folgende Code, der aus der .htaccess-Datei entfernt wurde, funktioniert.

Entfernen Sie den Datei-Tag-Code.

<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>

Hinweis: Ich weiß nicht, ob es in Zukunft Probleme geben kann oder nicht. Aber es hilft mir.

Shuvankar Paul
quelle
0

Kämpfte eine Stunde lang und schließlich wurde das Problem behoben, nachdem die Proxy-Einstellungen entfernt wurden. Wer auch immer mit diesem Problem konfrontiert ist, überprüfen Sie Ihre Proxy-Einstellung.

L-Board
quelle
0

Behebung durch Erteilung der richtigen Dateiberechtigungen für den Magento-Stammordner

Neethu Mohandas
quelle
0

Es ist ein sehr anspruchsvolles Thema.

Dafür kann viel möglicher Grund passieren. Besser als zufällig, debuggen Sie das Problem.

Wenn Sie Apache2 verwenden, um zu / var / log / apache2 zu wechseln, und Sie error.log finden, finden Sie dort einen bestimmten Grund, warum dies geschieht. Und löste es durch eine Suche über das Internet.

Mögliches Problem:

  • Wenn Sie Dateien und Datenbanken von einer vorhandenen Site kopieren und direkt auf den neuen Server übertragen, kann es zu Problemen mit der Kopierbarkeit kommen. Laden Sie für diesen Vorgang eine freash-Kopie hoch und versuchen Sie, sie zu installieren. Sie werden feststellen, was fehlt
  • In der neuen Magento-Version gibt es einen speziellen Ordner namens generiert . Das muss eine Schreiberlaubnis sein.
  • Ein weiterer Hauptgrund ist die allgemeine Dateiberechtigung. Stellen Sie sicher , dass var, generate, vendor, app / etc, pub / media & pub / static über den richtigen Schreibzugriff verfügen.
Shuvankar Paul
quelle