Eseguito da shell, il comando usa come utente quello di shell (ovvero php gira con i permessi dell'utente che lancia il comando).
Eseguito da webserver quindi gira con permessi dell'utente www-data (o quel che è l'utente http) e quindi può dare problemi, ovviamente, per questioni di permessi su file, librerie, cartelle eccetera...