Erro ao executar script php no KUbuntu 7.10

Publicado por Fábio em 03/01/2008

[ Hits: 6.906 ]

 


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

Erro no VMWare - Cannot get temporary directory for log file

http://localhost/zm não roda

Problema com som no Sony Vaio vpcea24fm - Ubuntu 10.04

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

JDBC não encontrado pelo Tomcat

Leitura recomendada

Convertendo scripts em ASP para PHP

Sintaxe das queries

PHP 7.2 no Fedora 27

Dica de livro para quem quer aprender PHP

Xampp - Maneira fácil de se instalar um servidor LAMP (Apache, MySQL e 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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts