Bonjour,
Je vais essayer d’être le plus clair, ce qui n’est pas évident.
J’ai un raspberry pi 4 avec raspbian 64 bits (mis à jour ce matin) et python 3.9. J’ai également installé apache pour faire du php.
Je suis dans le répertoire /var/www/html/steeve. Le répertoire steeve est dans le groupe www-data et raspberry (moi) est le propriétaire. Pour le moment, ce répertoire à tous les droits (pas bien).
Dans ce répertoire, j’ai un programme python qui génère une image (.png). Le programme est dans le groupe www-data et raspberry (moi) est le propriétaire. Je lance ce programme depuis Thonny et le programme crée l’image sans soucis.
Ensuite, j’ouvre un shell et je tape :
echo ‹ debut › && cd /var/www/html/steeve/ && ls -lart && python /var/www/html/steeve/correction_RST_BD_BO.py && echo ‹ fin ›
Les echos servent à voir qu’il exécute bien du début à la fin. L’exécution se passe sans soucis et l’image est créée.
Maintenant, je crée un fichier php :
<?php
$output = shell_exec("echo 'debut' && cd /var/www/html/steeve/ && ls -lart && python /var/www/html/steeve/correction_RST_BD_BO.py && echo 'fin'") ;
print "<pre>$output</pre>";
?>
Dans un shell, je lance php test.php depuis le répertoire steeve et tout fonctionne correctement.
Le problème vient maintenant. Mon ip est 138.231.yy.xx. Depuis un navigateur, je tape http://138.231.yy.xx/steeve/test.php
J’ai un message qui affiche « début » puis le résultat de ls -lart mais il n’exécute pas mon fichier .py et je n’ai jamais le message « fin ». L’image n’est pas non plus créée.
Je suis vraiment à court d’idée pour comprendre ce qu’il se passe.
Auriez vous un peu d’aide à m’apporter?
Merci