Erro ao executar script php no KUbuntu 7.10

Publicado por Fábio em 03/01/2008

[ Hits: 6.996 ]

 


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

Problemas ao excluir arquivos no KDE

Claro.com.br não funciona no Firefox (solução alternativa)

Problemas ao montar partição criptografada com Losetup em distribuições diferentes

Erro na conexão com Smartphone ou celular via cabo USB

Erro no VMWare - Cannot get temporary directory for log file

Leitura recomendada

Executando comandos do sistema com PHP

Tudo em um

Resolvendo diferenças de horas no PHP

Sintaxe das queries

Instalação do LAMP no Ubuntu

  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts