2009-07-31 16 views
5

Niedawno umieściłem mój projekt, który jest php + smarty + mysql na moim serwerze httpd. Ale wystąpił błąd, który mówi:500 Błąd wewnętrznego serwera?

500 Internal Server Error 

Moje OS jest ArchLinux, a serwer httpd i php zostały zainstalowane tak:

sudo pacman -S apache php 

Jeśli używam testowego natywną plik php, który zawiera następujące :

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

działa poprawnie. Mówi mi, że php może działać dobrze. Ale dlaczego mój projekt z smarty nie działa? Czy jest ktoś, kto napotkał ten problem?

+0

Czy utworzyć strukturę katalogów? – adatapost

+2

Jeśli był to problem z wielokrotnym wyborem, wybrałbym "Niewystarczające szczegóły". –

+0

co masz na myśli mówiąc o "tworzeniu struktury katalogów"? –

Odpowiedz

2

Sprawdź w swoim dzienniku błędów Apache (często znajdującym się pod adresem /var/log/httpd/error_log, ale to znacznie się różni). Będzie miał więcej informacji o błędzie serwera.

+0

ten plik error_log nie zawiera żadnych komunikatów o błędach. –

+0

To bardzo nietypowe. Zalecam upewnienie się, że patrzysz na właściwy plik; wirtualne hosty mogą mieć własne dzienniki błędów i takie. – chaos

6

Przy podanych informacjach trudno powiedzieć.

Błąd 500 dzieje się, ponieważ wystąpił błąd w kodzie, który ma wygenerować stronę, lub kod generuje nieobsługiwany wyjątek. Moja sugestia to odwiedzić stronę, która daje błąd 500, a następnie spróbuj skomentować cały twój kod. Sprawdź, czy problem nadal występuje. Jeśli nie, odkomentuj kod, dopóki nie znajdziesz części krytycznej, która spowodowała błąd. Może być cokolwiek, literówka, plik nie znaleziony, błąd logiczny, cokolwiek.

Sprawdź także dzienniki serwera internetowego, jeśli możesz je przeczytać.

+0

Strona jest plikiem tpl smarty i nic nie wyświetla. Komunikat o błędzie "500 Internal Server Error" jest przechwytywany przez narzędzie Firebug. –

+2

firebug łapie cokolwiek wygeneruje twój serwer. Ten 500 jest zwracany przez twój serwer. Sprawdź, czy masz błędy w pliku szablonu lub procesie zastępowania php/smarty. –

1

Sprawdź, czy pliki .htaccess są poprawne (składnia).

1

po prostu mi się przydarzyło i chciałem zapisać rozwiązanie.

Skonfigurowany katalog pamięci podręcznej Smarty (/ var/cache/Smarty) został skonfigurowany z niepoprawnymi uprawnieniami, proces apache musi tworzyć pliki w tym katalogu.

To jest katalog ustawiony za pomocą dyrektywy compile_dir.

BTW, plik error_log nie pokazuje niczego z tym błędem, Firebug pokazuje błąd 500 serwera wewnętrznego.

0

udało mi się uzyskać szczegółowe informacje o błędach, sprawdzając plik error.log wewnątrz

/var/log/apache2

w Ubuntu 16.04

Powiązane problemy