J'ai un certain script PHP qui appelle exec() pour exécuter une commande pour convertir un PDF en JPG. Cette commande fonctionne bien dans bash.
Pour anticiper vos premières suppositions de dépannage, notez ce qui suit :
- safe_mode = Off
- La permission sur le répertoire contenant le PDF et le script est fixée à 777, et ce répertoire est aussi celui où le JPG est écrit.
- La commande que je passe à exec() pointe explicitement vers le binaire utilisé (par exemple /usr/local/bin/convert).
- display_errors = On
- error_reporting = E_ALL
- disable_functions = [blank]
- Je fais écho à la sortie de exec() et elle ne renvoie rien. La commande exécutée par défaut ne renvoie rien.
Lorsque j'appelle ce script PHP depuis le navigateur (en visitant http://www.example.com/script.php ), exec() n'exécute pas son argument.
IMPORTANT : Je sais qu'il n'y a aucun problème avec mon script ou la façon dont j'ai construit la commande bash, car depuis bash, je peux exécuter le script avec 'php' et cela fonctionne (par exemple, 'php script.php' convertit le fichier).
J'ai également essayé de remplacer exec() par system().
Enfin, j'ai déjà eu ce problème une fois dans le passé mais je ne me souviens plus comment je l'ai résolu.
Je sais qu'il y a quelque chose qui m'échappe, alors j'espère que quelqu'un d'autre a vécu la même expérience que moi et se souvient de la solution !
Nous vous remercions par avance de l'aide que vous pourrez nous apporter.
Alex