Voici ma commande:shell_exec ne fonctionne pas
sudo /usr/local/bin/jpegoptim --max=50 /home/someuser/public_html/reports/images/r121662.jpg
Cette commande est censé compresser une image. J'ai essayé d'exécuter cette commande en utilisant l'opérateur backtick et shell_exec, ni ne fonctionnera. Le fichier ne se compresse pas.
Mais cette commande s'exécute lorsque je l'exécute directement dans le shell connecté en tant que someuser
. J'ai modifié sudoers
pour accepter la commande sans nécessiter de mot de passe. Le fichier est compressé lorsque je l'exécute dans le shell. Apache est configuré pour s'exécuter avec suPHP, et les fichiers PHP appartiennent également à someuser
. J'ai en outre assuré cela en écrivant un script php de test juste en disant system(id);
et en l'exécutant dans le navigateur. Cela me dit que le script est en cours d'exécution par someuser
.
De plus, safe_mode est désactivé.
EDIT: Ok, je l'ai à la sortie l'erreur
sudo: sorry, you must have a tty to run sudo
Maintenant, qu'est-ce que cela veut dire ?!
Est-ce que ça sort quelque chose quand vous l'exécutez dans shell? – Catalin
Non, j'ai essayé de faire écho à la sortie, pas de sortie du tout – HyderA
pouvez-vous sudo toute autre commande et cela fonctionne? – JohnSmith