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-x
flag 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
+s
flag (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.ini
file:include_path ".:/usr/local/lib/php:/your/dir"
- ou
.htaccess
arquivo: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.ini
não usa:disable_functions
paraexec
function - Se estiver usando o SELinux ou tendo o
selinux-utils
instalado (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.ini
ouhttpd.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.ini
todo o tipo de erros (display_error
,error_reporting
, etc.).