exec et php
Le
nicolas.pechon

Bonjour,
J'ai un petit soucis avec la fonction exec d'un script php.
le script suivant ne fonctionne pas:
<?php
exec("pdflatex fichier.tex");
?>
Je soupçonne un problème de configuration d'où ma question ici.
En effet, ce script fonctionne sur un autre ordinateur.
Je précise que taper pdflatex fichier.tex dans un shell fonctionne
parfaitement.
De même:
<?php
exec('ping -c 3 127.0.0.1', $reponse);¶
print_r($reponse);
?>
Fonctionne.
Ça doit être un truc tout bête, mais je ne trouve pas. :-(
Merci d'avance de vous pencher sur mon problème ou de d'indiquer si je
ne suis pas au bon endroit ou je pourrais poser ma question.
J'ai un petit soucis avec la fonction exec d'un script php.
le script suivant ne fonctionne pas:
<?php
exec("pdflatex fichier.tex");
?>
Je soupçonne un problème de configuration d'où ma question ici.
En effet, ce script fonctionne sur un autre ordinateur.
Je précise que taper pdflatex fichier.tex dans un shell fonctionne
parfaitement.
De même:
<?php
exec('ping -c 3 127.0.0.1', $reponse);¶
print_r($reponse);
?>
Fonctionne.
Ça doit être un truc tout bête, mais je ne trouve pas. :-(
Merci d'avance de vous pencher sur mon problème ou de d'indiquer si je
ne suis pas au bon endroit ou je pourrais poser ma question.
Dans le php.ini, il existe une instruction pour interdire certaines fonctions
qui accèdent au serveur. La fonction exec en fait partie.
Je crois que c'est "disable functions = le nom des fonctions à désactiver".
Effectivement, j'ai enlevé l'option: pcntl_exec
redémarrer apache2, mais rien n'y fait. :-(
Ce n'est pas la bonne fonction : pcntl-exec != exec ;
http://php.net/manual/fr/function.pcntl-exec.php
http://php.net/manual/fr/function.exec.php=
Salut
Et en mettant le chemin absolu vers pdflatex ?
Patrick
Oui, je m'en doutais bien. mais, j'ai fait le test vu l'absence de exec
dans disable functions
J'avance un peu.
J'ai fait:
<?php¶
¶
$command = '/usr/bin/pdflatex test.tex';¶
$output = exec($command);¶
exec($command, $output, $retval);¶
var_dump($output);¶
?>
A la fin du fichier j'ai:
" [106]=> string(75)
"[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}
string(52) "(see the transcript file for additional information)"
[109]=> string(79) "!pdfTeX error: /usr/bin/pdflatex (file tcti1200):
Font tcti1200 at 600 not foun" [110]=> string(1) "d" [111]=> string(55)
" ==> Fatal error occurred, no output PDF file produced!" }
Mais, je sais pas trop quoi en faire. Surtout que dans une console, un
pdflatex test.tex fonctionne
J'ai effectivement fait le test. Pensant a un problème avec la variable
d’environnement PATH. Mais, ce n'est pas cela.
"!pdfTeX error: /usr/bin/pdflatex (file tcti1200): Font tcti1200 at
600 not foun" [110]=> string(1) "d" [111]=> string(55) " ==> Fatal
error occurred, no output PDF file produced!"
}
Il dit pourquoi il plante: il ne trouve pas la font qu'il est censé
utiliser. Donc la question est: comment pdflatex trouve-t'il ses font
(ce que j'ignore) et en quoi est-ce que ça peut être différe nt pour le
processus apache?
______________
Ãric Dégenètais
Henix
http://www.henix.com
http://www.squashtest.org
Bonjour,
Ne trouvant toujours pas de solution, je me permet un petit UP. Si
quelqu'un a une piste a me proposer...
Merci d'avance
Comme le message d'erreur te dit qu'il n'a pas trouvé la font qui va
bien, est-ce possible de lui coller en paramètre le chemin+fichier de la
font ?
f.
--Xa6Lj6NmXxT9o10gilBViIQu8uRpp6cGo
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Bonjour,
Si j'ai bien suivi, lorsque tu lances la commande dans un shell, tu le
fais depuis ton compte utilisateur.
As tu essayé de lancer ta commande depuis un shell en tant "www-data " ?
Ca te permettra déjà d'identifier si le problème viens des permissions
du compte utilisateur, ou de ta conf apache/php
++
Steve
Le 20/11/2015 10:17, Fabrice Regnier a écrit :
--Xa6Lj6NmXxT9o10gilBViIQu8uRpp6cGo
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iL4EAREKAGYFAlZPG2lfFIAAAAAALgAoaXNzdWVyLWZwckBub3RhdGlvbnMub3Bl
bnBncC5maWZ0aGhvcnNlbWFuLm5ldEU2QThCQ0U4Rjc4OTM4OTVBREI4Qjg1REI5
NDI5NUM1OURFMzk0NjQACgkQuUKVxZ3jlGQEyAD/eEInVjdGqD5UkRLzJ3ajuksi
4PMNVDZUfGUgjnhNAzgBALDw7igFH2irSqnEN3Xrj7moMk0qhN9XiwtcvtYSkYdC
=6IzM
-----END PGP SIGNATURE-----
--Xa6Lj6NmXxT9o10gilBViIQu8uRpp6cGo--