Hallo zusammen,
ich habe eine Webseite, die via PHP mit shell_exec ein Python-Skript aufruft, dieses generiert den Rohtext für ein SVG und übergibt das am Ende wieder PHP, welches das SVG dann mit canvas malt.
Seit 2 Wochen geht das allerdings nicht mehr, ich vermute seit dem letzten DSM-Update.
Das merkwürdige: Wenn ich via SSH
das Skript aufrufe, dann geht alles und das SVG wird im HTML hinzugefügt.
Über den Browser geht das nicht. $command = "python3 file.py args"" beinhaltet wird noch korrekt gefüllt, aber $svg = shell_exec($command); macht dann schlichtweg gar nichts mehr. Wenn ich anschließend mit echo $svg; was ausgeben will, wird da im Browser auch nichts ausgegeben; auf dem CLI schon.
Klingt also irgendwie nach folgendem Problem, die genannten Dinge sind aber alle ausgestellt.
https://stackoverflow.com/a/20124768
Wenn ich jetzt allerdings eine Datei test.php mit Inhalt
erstelle, dann geht alles.
Wo liegt der Fehler? Ich vermute irgendwie, dass PHP das Python Skript nicht richtig ausführt. PHP Error Report ist aktiv, aber da bekomme ich nirgends eine Fehlermeldung.
Wo soll ich anfangen zu suchen?
LG
Felix
ich habe eine Webseite, die via PHP mit shell_exec ein Python-Skript aufruft, dieses generiert den Rohtext für ein SVG und übergibt das am Ende wieder PHP, welches das SVG dann mit canvas malt.
Seit 2 Wochen geht das allerdings nicht mehr, ich vermute seit dem letzten DSM-Update.
Das merkwürdige: Wenn ich via SSH
Code:
php74 action.php
Über den Browser geht das nicht. $command = "python3 file.py args"" beinhaltet wird noch korrekt gefüllt, aber $svg = shell_exec($command); macht dann schlichtweg gar nichts mehr. Wenn ich anschließend mit echo $svg; was ausgeben will, wird da im Browser auch nichts ausgegeben; auf dem CLI schon.
Klingt also irgendwie nach folgendem Problem, die genannten Dinge sind aber alle ausgestellt.
https://stackoverflow.com/a/20124768
Wenn ich jetzt allerdings eine Datei test.php mit Inhalt
Code:
<?php
exec('ls',$out,$rval);
echo "Output:<hr />";
print "<pre>"; print_r($out); print "</pre>";
echo "Return Value:<hr />";
echo $rval;
?>
erstelle, dann geht alles.
Wo liegt der Fehler? Ich vermute irgendwie, dass PHP das Python Skript nicht richtig ausführt. PHP Error Report ist aktiv, aber da bekomme ich nirgends eine Fehlermeldung.
Wo soll ich anfangen zu suchen?
LG
Felix