2017-06-30 5 views
-1

Ich habe vor kurzem eine Reihe von Problemen mit einer neuen Installation von Laravel auf Ubuntu aufgetreten, aber diese neueste hat mich verblüfft. Ich erhielt die WSOD mit null Fehlern in apache/php Protokollen oder Laravel-Protokollen, obwohl Debug auf True festgelegt und Fehleranzeige in PHP aktiviert wurde. Ich habe die index.php Datei in der Öffentlichkeit aktualisiert, um eine die("Test"); Zeile hinzuzufügen, nur um zu sehen, ob das zumindest funktionierte.Laravel Installation auf Apache - index.php Probleme

Es war, was großartig war - Test auf der Website angezeigt. Aber jetzt wird es nicht weggehen. Ich habe versucht, den Text auf etwas anderes zu aktualisieren, die Zeile usw. vollständig zu entfernen, cache-clear, cache clear und component cache clear und dump-autoload, und ich habe alle zwischengespeicherten Elemente in den Speicherordnern gelöscht. Ich habe meinen persönlichen Cache gelöscht und verschiedene Browser getestet. Es handelt sich also nicht um ein persönliches Cache-Problem. Ich habe auch versucht, Apache neu zu starten.

Alle meine chmod Berechtigungen sollten zu diesem Zeitpunkt korrekt sein (Bootstrap/Cache ist 755, alle Speicher und Unterordner sind 755). Ich hatte Laravel schreiben in das Protokoll für ein anderes Problem (von CLI - ein Test, den ich nur um sicherzustellen, dass die Berechtigungen funktionierten), so sollte das nicht das Problem sein.

Ich habe das funktioniert perfekt in Laragon auf meinem lokalen Windows-Maschine, aber hatte nichts als Probleme, diesen Kerl auf diesem Ubuntu-Server und läuft. Ich habe eine andere Prod-Instanz von Laravel, die mir auf einem anderen Ubuntu-Server nie so viel Ärger gemacht hat (und normalerweise war es nur ein Berechtigungsproblem). Wirklich nicht sicher, was zu diesem Zeitpunkt zu tun ist oder welche Informationen nützlich sein könnten. Hoffe, dass jemand anderes auf etwas Ähnliches gestoßen ist und etwas Licht abgibt ....

+0

whats Fehler kommt –

+0

@VishalVarshney Es gibt keinen Fehler überhaupt. Das ist der verwirrendste Teil. Es funktioniert einfach nicht und public/index.php scheint irgendwo zwischengespeichert zu sein. – princessjackie

Antwort

0

das Problem mit der Erweiterung opcache PHP lag Es stellte sich heraus. Dies war in allen Versionen von PHP, die standardmäßig in meiner prod-Umgebung installiert waren, aktiviert und wurde nicht in meiner Entwicklungsumgebung verwendet. Einen Test zu schreiben, um Opcache zu löschen, löste dieses spezielle Problem und ich habe seitdem die Erweiterung deaktiviert, da ich es sowieso nicht verwenden wollte.

Wenn jemand anderes in dieses Problem läuft und deaktivieren möchte, ging ich einfach durch WHM Easy Apache 4 und entfernte die Opcache-PHP-Erweiterungen und dann die PHP.ini-Dateien für alle Versionen von PHP, um alle Opcache-fähigen Typ von zu setzen Flags auf 0 (aus).

0

Welche Art von Fehler zeigt die Datei/var/log/apache2/error_log? Was ist der Inhalt Ihrer Laravel-Datei storage/logs/laravel.logs? Wie hast du den vhost konfiguriert? hast du Laravel mit Composer installiert?

geben Sie uns weitere Informationen wenden Sie sich bitte

+0

Wie gesagt, gibt es keine Fehler in error_log. Ich habe sogar "Info" in Apache-Fehlermeldung gemeldet und da ist nichts. Ich kann es auslösen, um einen Fehler hinzuzufügen, damit es funktioniert. Die Laravel-Protokolldatei enthält keine Fehler. Ich weiß, dass es auch funktioniert, da ich einen zufälligen "Laravel-Befehl" in SSH machen kann und es in laravel.log angezeigt wird, damit die Schreibberechtigungen in Ordnung sind. Ich habe Laravel mit dem Komponisten installiert. Der Mangel an Daten in den Logs, trotz der Tatsache, dass sie richtig geschrieben werden, ist einer der Gründe, warum ich so verwirrt bin. – princessjackie

+0

Eine andere Sache, die ich bemerkt habe .... Also, ich habe die public/index.php aktualisiert, um die Die ("Test") Zeile hinzuzufügen und diese scheint irgendwo in einem Cache stecken zu bleiben. Ich habe versucht, index.php zu entfernen, und der Server gibt einen 404 zurück. Wenn ich eine völlig neue index.php-Datei anlege und einfach etwas wie "Secondary Test" einfüge, wird es die gleiche zwischengespeicherte index.php von sterben (" Nochmal testen. Ich kann nicht für das Leben von mir herausfinden, wo oder wie dies zwischengespeichert wird. – princessjackie

+0

Welche PHP-Version ist auf Ihrem Server installiert? Was ist die .htaccess-Konfiguration? haben Sie einige Routen zum Testen einer Ansicht angegeben? –

Verwandte Themen