Hallo,
zu PHP und Python gibt es hier ja auch schon etliche Beiträge, allerdings konnte ich davon leider bisher nichts erfolgreich selbst reproduzieren bzw. habe eine auf mein Problem passende Diskussion auch noch nicht entdeckt. Falls es dazu bereits eine Lösung/Antworten gibt wäre ich auch schon für die entsprechenden Verweise dankbar
ich habe ein bereits fertiges Python-Skript, welches auch problemlos über die Konsole läuft. Nun würde ich dieses Skript allerdings gerne über einen Button auf einer Website bzw. einem Webinterface starten.
Jedoch wirds erst jetzt etwas knifflig vermute ich, denn: nach dem Start über die Konsole wartet das Skript auf die Eingabe eines Wertes in selbiger. Diese Eingabe würde ich jetzt gerne über das angesprochene Interface realisieren. Umgangssprachlich also eine Eingabe von einem Webinterface direkt an die Konsole senden.
Ist soetwas machbar?
Vielen Dank schon mal an die weisen Köpfe hier und bitte verzeiht, wenn ich bei noch folgendem Code grundlegende Fehler gemacht haben sollte, ich bin noch recht neu in der Materie...
Den Code für das Interface gibt es noch nicht, hier hab ich mich erstmal an einer einfachen Seite mit einem Button zum starten des Skripts versucht:
<html>
<body>
<table border ="2px" align="center">
<tr>
<td>
<a href="?id=4.1" target="_self">Starten</a>
</td>
</tr>
</table>
<?php
if (isset($_GET["id"])) {
$id = $_GET["id"];
if($id == "4.1") {
echo shell_exec("sudo /var/www/html/test.py ")
echo shell_exec("whoami");
echo "läuft";
}
}
?>
</body>
</html>
Alles anzeigen
Wahrscheinlich fehlt die entsprechende form/method bzw. ein submit-Button, wenn ich bisher alles richtig verstanden hab..
bzw. sollte wahrscheinlich auch eher $_POST statt $GET benutzt werden?
Der Python code ist mit shebang versehen
Und die enstrpechenden rechte habe ich (glaube ich) an www-data übertragen: