2016-12-26 1 views
-3

Ich schrieb eine PHP-Datei, um meine Wireless-Buchse mit 433 MHz zu steuern. Ich möchte es in meinem lokalen Netzwerk ausführen, indem Sie im Browser eingeben: "IP des Servers" /socketOn.php Es wird nicht den Socket einschalten. Das ist mein PHP-Code:PHP 433 MHz Raspberry Pi

machine("sudo /home/pi/raspberry-remote/./send 11000 4 1"); 
+1

Soweit ich weiß, hat PHP keine 'machine()' -Funktion. Sie sollten diese stattdessen betrachten: http://stackoverflow.com/questions/732832/php-exec-vs-system-vs-passthru –

Antwort

0

Wie Markus AO bereits in seinem Kommentar erwähnt, gibt es keine machine() Funktion in PHP. Sie sollten exec(), system(), shell_exec() oder ähnliche PHP-Funktionen verwenden, um einen Shell-Befehl auszuführen.

Der Code könnte dann so aussehen, vorausgesetzt, dass /home/pi/raspberry-remote/send ausführbar ist:

<?php 
exec("/home/pi/raspberry-remote/send 11000 4 1"); 
?> 

Beachten Sie, dass einige restrictions may apply to these functions, wenn PHP in safe mode läuft. Nach der offiziellen PHP-Dokumentation, für exec(), system() und passthru() diese Einschränkungen sind:

Sie können nur ausführbare Dateien ausführen innerhalb der safe_mode_exec_dir. Aus praktischen Gründen ist es derzeit nicht erlaubt, .. Komponenten im Pfad zur ausführbaren Datei zu haben. escapeshellcmd() wird am Argument dieser Funktion ausgeführt.