[php] exec ne fonctionne pas
Résolu
rekam
Messages postés
122
Date d'inscription
Statut
Membre
Dernière intervention
-
rekam Messages postés 122 Date d'inscription Statut Membre Dernière intervention -
rekam Messages postés 122 Date d'inscription Statut Membre Dernière intervention -
Bien le bonjour!
Je suis au prise avec un problème pour le moins ennuyeux. J'essaie de convertir la 1ère page d'un pdf en jpg. J'ai installé Imagemagick et Ghostscript et, dans un terminal (sous MacOSX 10.6) j'ai tapé la commande suivante:
ça fonctionne à merveille.
Là dessus, j'écris un script PHP d'une complexité inouïe, dont voici ci-dessous la totalité:
Résultat: l'image ne se crée pas, $ouput n'a rien du tout dedans et $status = 127.
Pour le fun, j'ai chmodé bien brutal (vive les machines de pure dev ^^)
Genre, bien bourrin. Eh bien rien de mieux... Toujours pas d'amélioration. Comment puis-je faire? Sachant que j'utilise MAMP comme serveur local PHP.
Merci d'avance!
rekam
[EDIT]
Je tiens encore à signaler qu'un file_exists() avec le même chemin pdf (sans le [0] évidemment) retourne TRUE. PHP voit donc bien le fichier, mais n'arrive pas à exécuter c'te môdzite commande...
Je suis au prise avec un problème pour le moins ennuyeux. J'essaie de convertir la 1ère page d'un pdf en jpg. J'ai installé Imagemagick et Ghostscript et, dans un terminal (sous MacOSX 10.6) j'ai tapé la commande suivante:
convert '/Users/dev/Sites/libs/test_12_pages.pdf[0]' '/Users/dev/Sites/library/resources/test_12_pages.jpg'
ça fonctionne à merveille.
Là dessus, j'écris un script PHP d'une complexité inouïe, dont voici ci-dessous la totalité:
<?php $output = array(); $status = null; exec("convert '/Users/dev/Sites/libs/test_12_pages.pdf[0]' '/Users/dev/Sites/library/resources/test_12_pages.jpg'", $output, $status); print_r($output); echo $status;
Résultat: l'image ne se crée pas, $ouput n'a rien du tout dedans et $status = 127.
Pour le fun, j'ai chmodé bien brutal (vive les machines de pure dev ^^)
sudo chmod -R 0777 /
Genre, bien bourrin. Eh bien rien de mieux... Toujours pas d'amélioration. Comment puis-je faire? Sachant que j'utilise MAMP comme serveur local PHP.
Merci d'avance!
rekam
[EDIT]
Je tiens encore à signaler qu'un file_exists() avec le même chemin pdf (sans le [0] évidemment) retourne TRUE. PHP voit donc bien le fichier, mais n'arrive pas à exécuter c'te môdzite commande...
A voir également:
- [php] exec ne fonctionne pas
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour à la ligne php ✓ - Forum PHP
- Retour a la ligne avec Echo comment faire ? - Forum Webmastering
- Alert php - Forum PHP
3 réponses
Youhou! C'est bon!
En fait c'est tout bête, et je crois bien qu'elpens avait la solution, sauf que j'ai pas capté tout de suite :P
Un petit passthru("export") permet de constater que la variable d'environnement PATH n'est pas pareil que le PATH du terminal.
J'ai donc bien /opt/local/bin/ dans le terminal, mais pas depuis l'exécution PHP. Ainsi, un petit /opt/local/bin/convert fait fonctionner le tout.
Merci bien!
En fait c'est tout bête, et je crois bien qu'elpens avait la solution, sauf que j'ai pas capté tout de suite :P
Un petit passthru("export") permet de constater que la variable d'environnement PATH n'est pas pareil que le PATH du terminal.
J'ai donc bien /opt/local/bin/ dans le terminal, mais pas depuis l'exécution PHP. Ainsi, un petit /opt/local/bin/convert fait fonctionner le tout.
Merci bien!
Salut,
Je ne suis pas sur mais tu dois avoir un problème d'access a ton shell
Tu peux essayer d'ajouter /bin/sh avant ta commande convert
En esperant que cela puisse t'aider un minimum
Elpens
Je ne suis pas sur mais tu dois avoir un problème d'access a ton shell
Tu peux essayer d'ajouter /bin/sh avant ta commande convert
En esperant que cela puisse t'aider un minimum
Elpens
Merci, mais toujours rien. J'ai tenté ce que tu proposes mais pas mieux.
J'ai du coup pensé à autre chose. J'ai créé un fichier .sh avec la commande en dur dedans, puis je le chmod +x pour qu'il soit exécutable.
Depuis le terminal, ./test.sh fonctionne.
Depuis exec() de php: non :'(
PS: au passage, j'ai le safe_mode à Off, donc ça peut pas être ça non plus... Mais kesepastil ???!!!
J'ai du coup pensé à autre chose. J'ai créé un fichier .sh avec la commande en dur dedans, puis je le chmod +x pour qu'il soit exécutable.
Depuis le terminal, ./test.sh fonctionne.
Depuis exec() de php: non :'(
PS: au passage, j'ai le safe_mode à Off, donc ça peut pas être ça non plus... Mais kesepastil ???!!!