Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: lelo
Por iucas
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Erro ao executar script php no KUbuntu 7.10
Linux user
Publicado por Fábio em 03/01/2008

Login: fba, 143309 pontos
[ Hits: 3721 ]

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

Leitura recomendada
   Dica Linux recomendada Apostila - Desenvolvendo aplicações com PHP e MySQL
   Dica Linux recomendada Manipulando checkbox em PHP
   Dica Linux recomendada Aviso de erro em arquivo de configuração do PHP
   Dica Linux recomendada PHP orientado a objeto com MySQL e AJAX - Seleção de estado e cidade
   Dica Linux recomendada Executando comandos do sistema com PHP

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


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.