2009-07-31 5 views
5

Vor kurzem habe ich mein Projekt, das PHP + Smarty + MySQL in meinem httpd Server ist. Aber ich stellte einen Fehler, der sagt:500 Interner Serverfehler?

500 Internal Server Error 

Mein OS ist archlinux und der httpd-Server und PHP wurden wie folgt installiert:

sudo pacman -S apache php 

Wenn ich einen Test nativen PHP-Datei, die enthält folgende :

<html> 
    <head> 
    <title>PHP Test Page</title> 
    </head> 
    <body> 
    This is Arch Linux, running PHP. 
    <?php 
     phpinfo(); 
    ?> 
    </body> 
    </html> 

es läuft richtig. Es sagt mir, dass das PHP gut funktionieren kann. Aber warum funktioniert mein Projekt mit Smarty nicht? Gibt es jemanden, der auf dieses Problem gestoßen ist?

+0

Haben erstellen Sie eine Verzeichnisstruktur? – adatapost

+2

Wenn dies ein Multiple-Choice-Physikproblem wäre, würde ich "Unzureichende Details" wählen. –

+0

was meinst du mit "Erstellen einer Verzeichnisstruktur" –

Antwort

2

Suchen Sie in Ihrem Apache-Fehlerprotokoll (oft bei /var/log/httpd/error_log gefunden, obwohl dies stark variiert). Es werden weitere Informationen zum Serverfehler angezeigt.

+0

Die Datei therer_log verursacht keine Fehlermeldung über den Fehler. –

+0

Das ist sehr ungewöhnlich. Ich würde empfehlen, sicherzustellen, dass Sie die richtige Datei suchen; Virtuelle Hosts können ihre eigenen Fehlerprotokolle und ähnliches haben. – chaos

6

Mit den von Ihnen angegebenen Informationen ist es schwierig zu sagen.

Fehler 500 geschieht, weil Sie einen Fehler in dem Code, der die Seite erstellen soll, oder der Code einige nicht behandelte Ausnahme erstellt haben. Mein Vorschlag ist, die Seite zu besuchen, die Ihnen den Fehler 500 gibt, und dann zu versuchen, Ihren gesamten Code zu kommentieren. Überprüfen Sie, ob das Problem weiterhin besteht. Ist dies nicht der Fall, entfernen Sie den Code, bis Sie den kritischen Teil gefunden haben, der den Fehler verursacht hat. Könnte alles sein, ein Tippfehler, eine Datei nicht gefunden, ein logischer Fehler, irgendetwas.

Überprüfen Sie auch in den Webserver-Logs, wenn Sie sie lesen können.

+0

Die Seite ist Smartys TPL-Datei, und es zeigt nichts an. Die Fehlermeldung "500 Interner Serverfehler" wird vom Firebug-Tool abgefangen. –

+2

Firebug erfasst, was auch immer Ihr Server generiert. Diese 500 wird von Ihrem Server zurückgegeben. Überprüfen Sie, ob Sie Fehler in Ihrer Vorlagendatei oder im PHP/Smarty-Ersetzungsprozess haben. –

1

Überprüfen Sie, ob alle .htaccess-Dateien (Syntax) korrekt sind.

1

ist mir gerade passiert und wollte die Lösung aufschreiben.

Das konfigurierte Smarty-Cache-Verzeichnis (/ var/cache/Smarty) wurde mit falschen Berechtigungen konfiguriert, der Apache-Prozess muss Dateien in diesem Verzeichnis erstellen.

Dies ist das Verzeichnis, das Sie mit der Anweisung compile_dir festgelegt haben.

BTW, die error_log Datei zeigt nichts mit diesem Fehler, Firebug zeigt einen 500 Internal Server Error.

0

konnte ich die Fehlerdetails erhalten, indem die Überprüfung error.log Datei in

/var/log/apache2

in ubuntu 16.04