Tente as seguintes sugestões:
- Tente executar o comando abaixo do teste e verifique se funcionou:
-
php -r "echo exec('whoami');"
-
- Verifique se todos os diretórios pai e os arquivos têm pelo menos
r-xflag permissions:-
chmod 755 dir; chmod 755 file
-
- Verifique se o proprietário do arquivo é o seu usuário do Apache .
- Tente também adicionar um
+sflag (sudo) ao arquivo (não recomendado):-
chmod u+s file,
-
- Tente também adicionar um
- Verifique se o seu PHP não está sendo executado em um
safe_mode. - Verifique se o script está dentro da sua raiz do Apache:
- Caso contrário, mova o script para dentro dele
- ou adicione esse diretório à sua configuração do Apache,
- ou adicione este diretório ao seu
include_path, por exemplo:-
php.inifile:include_path ".:/usr/local/lib/php:/your/dir" - ou
.htaccessarquivo:php_value include_path ".:/usr/local/lib/php:/your/dir"
-
- Verifique se seu shell está definido como válido (por exemplo,
/bin/sh) para seu usuário do Apache (por exemplo, verifique com:finger). - Verifique se
php.ininão usa:disable_functionsparaexecfunction - Se estiver usando o SELinux ou tendo o
selinux-utilsinstalado (um sistema Linux com segurança aprimorada), verifique a configuraçãogetenforce/setenforce, conforme descrito em @ Tonin resposta.
Solução de problemas:
- Se você alterou seu arquivo
php.iniouhttpd.conf, não se esqueça de reiniciar o servidor da web, - Verifique seu log de erros do Apache para obter detalhes adicionais.
- Ative em
php.initodo o tipo de erros (display_error,error_reporting, etc.).