Erro interno do servidor 500 para o ficheiro php não para html [duplicado]

Esta pergunta já tem uma resposta:
  • A obter um erro interno do servidor ao tentar aceder ao meu site 3 respostas
O meu site tem apenas 4-5 páginas estáticas. índice.html & índice.os dois estão lá. indice.o html está a funcionar bem. Se mudar para Índice.php, está a dar 500 Internal Server Error. Não sei onde está a minha erro?

Nota: Se eu usar .htaccess ficheiro com php_flag display_errors 1,

Está a mostrar Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

Se eu usar .htaccess ficheiro com empty,

Está a mostrar Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

E se eu der ../contact-us.php, está a mostrar-se correctamente.

Obrigado...

Author: pnuts, 2013-07-17

6 answers

500 Erro interno do servidor é mostrado se o seu código php tem erros fatais, mas a visualização de erros está desligada. Você pode tentar isso para ver o erro em si em vez de 500 página de erro:

No seu ficheiro php:

ini_set('display_errors', 1);

Entra .ficheiro htaccess:

php_flag display_errors 1
 116
Author: Hast, 2013-07-17 07:18:58

Um ficheiro PHP deve ter permissões definidas para 644. Qualquer pasta que contenha arquivos de PHP e acesso de PHP (para enviar arquivos, por exemplo) deve ter permissões definidas para 755. O PHP irá executar um erro de 500 ao lidar com QUALQUER ficheiro ou pasta que tenha permissões definidas como 777!

 55
Author: David Valenza, 2015-12-16 03:10:40

Estava a mudar as terminações de linha (do Windows CRLF Para Unix LF) no ficheiro {[[0]} que o corrigiu para mim.

 2
Author: Saran, 2015-11-11 20:50:51

Eu sei que esta pergunta é antiga, no entanto encontrei este problema no Windows 8.1 enquanto tentava usar .ficheiros htaccess para reescrever. A minha solução era simples, esqueci-me de modificar a seguinte linha no httpd.conf

#LoadModule rewrite_module modules/mod_rewrite.so

A

LoadModule rewrite_module modules/mod_rewrite.so

Reiniciou o monitor apache, agora tudo funciona bem. Apenas postando isso como uma resposta, porque alguém no futuro pode correr através do mesmo problema com uma correção simples.

Boa sorte!
 1
Author: Winter, 2014-03-08 18:15:37
Estava a ter um problema porque estava a tentar ligar-me ao MySQL, mas não tinha o pacote necessário. Eu descobri isso por causa do Comentário de @Amadan para verificar o registro de erros. No meu caso, estava a ter o erro.: Call to undefined function mysql_connect()

Se o seu ficheiro PHP tiver algum código para se ligar a um MY-SQL db, então poderá ter de instalar php5-mysql Primeiro. Estava a ter este erro porque não o tinha instalado. Todas as minhas permissões de ficheiros foram boas. No Ubuntu, você pode instalá - lo pelo seguinte comando:

sudo apt-get install php5-mysql

 1
Author: TheRookierLearner, 2014-11-17 19:35:05

O Google guia-me aqui, mas não corrigiu o meu, esta é uma questão muito geral e há várias causas, então eu postei o meu problema e solução aqui para referência, no caso de alguém poder ler isto mais tarde.

Outra causa possível de 500 erros é o erro de sintaxe na função header(...), como esta:

header($_SERVER['SERVER_PROTOCOL'] . '200 OK');

Esteja ciente de que deve haver espaço entre o protocolo do servidor e o código de estado, por isso deve ser:

header($_SERVER['SERVER_PROTOCOL'] . ' 200 OK');
Por isso, sugiro que verifique a sua chamada de cabeçalho http, se a tiver na sua codigo.
 0
Author: Lin, 2015-08-07 15:26:46