Erro ao executar script php no KUbuntu 7.10

Publicado por Fábio em 03/01/2008

[ Hits: 6.423 ]

 


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 na conexão com Smartphone ou celular via cabo USB

Erro no VMWare - Cannot get temporary directory for log file

Gerando estatísticas de acesso ao web server com awstats em arquivos html estáticos

Impressão Java em Linux

Problema na Transmissão da Declaração de Imposto de Renda (PF) pelo Aplicativo IRPF [Resolvido]

Leitura recomendada

Quanta, um excelente editor HTML e PHP

PHP e Banco de Dados Mysql

Usando os operadores -> e :: para classes

Instalar composer no Windows

Uso das aspas simples, duplas e invertidas

  

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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts