Erro ao executar script php no KUbuntu 7.10

Publicado por Fábio em 03/01/2008

[ Hits: 6.511 ]

 


Erro ao executar script php no KUbuntu 7.10



keywords: erro no navegador, Internal Server Error.

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log. Apache/2.2.4 (Ubuntu) PHP/5.2.3-1ubuntu6.2 Server at Port

Erro no log do apache:

[error] (8)Exec format error: exec of failed
[error] Premature end of script headers:

Problema: Este erro ocorre pois os arquivos .php foram salvos no diretório /usr/lib/cgi-bin/, apesar de aparentemente o arquivo de configuração /etc/apache2/sites-enabled/000-default estar sugerindo que os arquivos sejam inseridos neste diretório, esta configuração não funcionou, ocasionando o erro acima.

Solução 1: mova os arquivos .php para o diretório /var/www/,como exemplo crie um arquivo chamado /var/www/x.php com o conteúdo <?php phpinfo(); ?> e no navegador digite http://127.0.0.1/x.php (sendo 127.0.0.1 o endereço ip da máquina local).

Solução 2: caso queira mover os arquivos para um diretório chamado cgi-bin em /var/www deve-se alterar a configuração do arquivo /etc/apache2/sites-enabled/000-default. No arquivo deve-se comentar a parte que segue abaixo que define a execução do cgi-bin:

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
   AllowOverride None
   Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
   Order allow,deny
   Allow from all
</Directory>

Ficando assim:

#ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
#<Directory "/usr/lib/cgi-bin">
#   AllowOverride None
#   Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
#   Order allow,deny
#   Allow from all
#</Directory>

Agora mova os arquivos .php para o diretório /var/www/cgi-bin/, como exemplo crie um arquivo chamado /var/www/cgi-bin/x.php com o conteúdo <?php phpinfo(); ?> e no navegador digite http://127.0.0.1/cgi-bin/x.php (sendo 127.0.0.1 o endereço ip da máquina local).

Outras dicas deste autor

Problema com som no Sony Vaio vpcea24fm - Ubuntu 10.04

k3b no slamd64 não grava dvd

Resolvendo problemas ao montar SMBFS

JDBC não encontrado pelo Tomcat

Tim.com.br não funciona no firefox

Leitura recomendada

Instalando PHP 5 no Conectiva Linux 10

Aviso de erro em arquivo de configuração do PHP

Uso das aspas simples, duplas e invertidas

PHP - Erro ao imprimir HTML ou JavaScript com ou sem variável

Sintaxe das queries

  

Comentários
[1] Comentário enviado por trato em 13/10/2008 - 09:55h

Estou com o mesmo problema, mas e se eu quiser utilizar imagens ou arquivos dentro do cgi-bin. Como fazer?
Existe algum tipo de configuração/permissão?
Pois no apache do Freebsd não tenho problemas com isso, já no debian está dando esse erro.



Contribuir com comentário