Tenho certeza de que isso será um erro de sufixo. Verifique as diferenças de propriedade entre os arquivos de trabalho e os arquivos de erros e, a seguir, haverá esclarecimento.
Acabei de migrar o conteúdo dos meus sites do Plesk para o Cpanel em um VPS LAMP CentOS 5.5 x64. O problema que estou tendo é que alguns arquivos php funcionam - outros não. Por exemplo, o arquivo index.php atual está funcionando e está executando phpinfo () e retornando resultados - Se eu criar um novo arquivo test.php e copiar e colar o mesmo código exato de index.php, ele resultará em um ' Mensagem interna de erro do servidor.
Alguém pode fornecer assistência com isso? Está acontecendo em todos os meus domínios e, em um caso, nenhum arquivo php está funcionando.
arquivos .html padrão todo o trabalho de modo a levar a acreditar que algo está errado com a minha instalação do php?
Exemplo de 2 extratos do log seguinte:
A few extracts of the logs - "[Thu Oct 21 20:03:45 2010] [error] [client hidden] SoftException in Application.cpp:363: GID of script "/home/hidden/public_html/test.php" is smaller than min_gid [Thu Oct 21 20:03:45 2010] [error] [client hidden] Premature end of script headers: test.php"
"[Thu Oct 21 20:05:46 2010] [error] [client 80.255.223.242] SoftException in Application.cpp:431: Mismatch between target GID (507) and GID (10) of file "/home/trades/public_html/index.php" [Thu Oct 21 20:05:46 2010] [error] [client 80.255.223.242] Premature end of script headers: index.php"
Tenho certeza de que isso será um erro de sufixo. Verifique as diferenças de propriedade entre os arquivos de trabalho e os arquivos de erros e, a seguir, haverá esclarecimento.
O grupo de /home/trades/public_html/index.php é diferente do esperado. Verifique o grupo esperado em / etc / group
cat /etc/group | grep 507 | awk -F":" {'print $1'}
e execute
chgrp correct-group-name /home/trades/public_html/index.php
e, em seguida, certifique-se de que as permissões desse arquivo e de outras em public_html não sejam superiores a 755 e proprietário / grupo sejam
Parece que seu novo servidor usa suPHP, enquanto seu servidor antigo não. Além disso, você foi desleixado com suas permissões e / ou propriedade. Aqui está um pequeno roteiro conveniente para consertá-lo. Este código em particular estava fora de minha cabeça, então eu não testei isso. Sinta-se livre para fazer correções. A teoria é boa, no entanto: eu uso algo semelhante a isso com frequência em servidores de clientes.
Salve como um script, torne-o executável e forneça o nome de usuário que você deseja corrigir.
#!/bin/bash
die() { echo $* >&2; exit 1; }
USER=$1
# sanity checks
[[ -z $USER ]] && die "Please supply a user name"
[[ -d /home/$USER/public_html/ ]] || die "Username is not found"
[[ -d /home/$USER/tmp/ ]] || die "tmp dir not found... are you sure this is cpanel?"
G=$(stat --format=%G /home/$USER/public_html/)
[[ $G == "nobody" ]] || die "public_html not owned by group nobody? WTF?"
#change ownership of stuff
chown -R --reference=/home/$USER/tmp /home/$USER/public_html
chgrp nobody /home/$USER/public_html
#remove o/g write permission
chmod -R go-w /home/$USER/public_html
echo "You're all set, boss"
Resolvi o mesmo problema, apenas cuido de dois pontos:
Guia de solução de problemas em: link
Você precisa encontrar uma maneira de visualizar os erros do PHP que estão sendo exibidos. Eles estão sendo registrados?
Uma técnica é tentar executar o script na linha de comando e, em seguida, imprimir o erro do php.
php -f <filename>
Outra seria editar test.php e alterar as configurações de log de erros, por exemplo, ativar erros de impressão ou registrar os erros em um arquivo em / tmp /
Estes podem ser muito frustrantes para resolver, mas uma vez que você está olhando para o erro do php, tudo deve fluir a partir daí. Sua configuração do .htaccess ou do Apache pode explicar porque o index.php é tratado de maneira diferente para test.php.