nicht aufrufen Ich bin seit ein paar Tagen fest. Ich versuche, ein einfaches Python-Skript aus PHP aufzurufen. Für das Leben von mir kann ich nicht herausfinden, was das Problem ist. Ich habe das Skript onoff.py mit chmod + x ausführbar gemacht. ganz gut von der Kommandozeile wie folgtKonnte ein Python-Skript über PHP
Ich kann das Skript ausführen:
[email protected]:/var/www/html $ python onoff.py
LED on
LED off
Mein Problem ist, wenn ich versuche, das Skript von PHP zu nennen. Ich bekomme nichts.
Mein Python Script:
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(18,GPIO.OUT)
print "LED on"
GPIO.output(18,GPIO.HIGH)
time.sleep(1)
print "LED off"
GPIO.output(18,GPIO.LOW)
Mein PHP-Skript:
<?php
$command = escapeshellcmd('python /var/www/html/onoff.py');
$output = shell_exec($command);
echo $output;
?>
Jede Hilfe wird sehr geschätzt!
EDIT:
, wenn ich mein onoff.py Skript eine einfache Änderung while-Schleife wie:
#!/usr/bin/python
x=1
while (x<10):
print x
x=x+1
die Ausgabe am Browser:
1 2 3 4 5 6 7 8 9
ich nur don verstehe nicht, warum die Schleife läuft, aber ich bekomme keine Ausgabe mit dem ursprünglichen Python-Code.
EDIT 2:
Ok, damit ich einen anderen Ansatz und um zu sehen, versuchen, wo der Code fehlschlägt. Ich füge Bits Code auf einmal hinzu. Bitte beachten Sie die folgenden Hinweise.
Jetzt, wenn ich die PHP ausführen zeigt es eine zufällige Zahl, so dass ich weiß, dass das Python-Skript ausgeführt wird. Wenn ich GPIO.setup (18, GPIO.OUT) entziehe und den php starte, bekomme ich einen leeren Bildschirm. Ich habe keine Ahnung, warum dies das Skript zum Scheitern bringen würde.
Obligatorisch Siehe auch: [Wie kann ich Exec() Probleme debuggen?] (Http://Stackoverflow.com/q/12199353) – mario