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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 9
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe Gras
Le #26376847
Le 10 nov. 2015 à 08:57, a écrit :

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.



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".
nicolas.pechon
Le #26376860
Le 2015-11-10 11:32, Philippe Gras a écrit :
Le 10 nov. 2015 à 08:57, a écrit :

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.



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. :-(
Philippe Gras
Le #26376864
Le 10 nov. 2015 à 12:26, a écrit :

Le 2015-11-10 11:32, Philippe Gras a écrit :
Le 10 nov. 2015 à 08:57, a écrit :
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.


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=
pmenier
Le #26376865
Le 10/11/2015 08:57, a écrit :
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.





Salut

Et en mettant le chemin absolu vers pdflatex ?

Patrick
nicolas.pechon
Le #26376870
Le 2015-11-10 13:00, Philippe Gras a écrit :
Le 10 nov. 2015 à 12:26, a écrit :
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



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
nicolas.pechon
Le #26376879
Le 2015-11-10 13:27, pmenier a écrit :
Le 10/11/2015 08:57, a écrit :
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.





Salut

Et en mettant le chemin absolu vers pdflatex ?

Patrick



J'ai effectivement fait le test. Pensant a un problème avec la variable
d’environnement PATH. Mais, ce n'est pas cela.
Eric Degenetais
Le #26376881
A la fin du fichier j'ai:

" [106]=> string(75) "[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex .map}


"!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
nicolas.pechon
Le #26378866
Le 2015-11-10 14:33, Eric Degenetais a écrit :
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!"

}

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érent pour le
processus apache?



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
Fabrice Regnier
Le #26378885
'lut,

Ne trouvant toujours pas de solution, je me permet un petit UP. Si
quelqu'un a une piste a me proposer...


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.
Steve Fouchet
Le #26378903
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--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 :
'lut,

Ne trouvant toujours pas de solution, je me permet un petit UP. Si
quelqu'un a une piste a me proposer...


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: 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--
Publicité
Poster une réponse
Anonyme