Sempre que tenho esse tipo de problema, dou www-data
um shell em /etc/passwd
. Você pode alterá-lo de volta para nologin
assim que terminar o teste.
Então eu su - www-data
e manualmente tento executar o script. Se você tiver problemas relacionados a permissões, isso deve ajudá-lo a restringir o escopo. A execução de scripts de shell do php pode ocasionalmente produzir resultados inesperados.