Erro interno do servidor 500 para o ficheiro php não para html [duplicado]
- A obter um erro interno do servidor ao tentar aceder ao meu site 3 respostas
500 Internal Server Error
. Não sei onde está a minha erro?
Nota:
Se eu usar .htaccess ficheiro com php_flag display_errors 1
,
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
,
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...
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
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!
Estava a mudar as terminações de linha (do Windows CRLF Para Unix LF) no ficheiro {[[0]} que o corrigiu para mim.
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!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
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.