Also ich habe folgendes php Skript (YTPlayer.php5):
<?php
function searchInFile($source, $search){
$shellBefehl = „grep -o -e ‚$search‘ $source“;
exec($shellBefehl, $var);
return $var;
}
// Playlist ID Hier normal eingefügt
$one=" ";
//Playlist von YT laden
$play_url=„https://gdata.youtube.com/feeds/api/playlists/".$one…“ ;
//In Index.html spiechern
shell_exec(’wget '.$play_url.'
’);
//Brauchbare URLs extrahieren
$URLs = searchInFile(„index.html“, „https://[[:alnum:]/.&;=_-?]*app=youtube_gdata“);
//Youtube Musik über URL aufrufen
foreach ($URLs as $YTURL){
shell_exec('omxplayer youtube-dl -g '.$YTURL.'
');
}
Dieses rufe ich auf meinem Raspberry Pi 2 über
php /home/pi/YTPlayer.php5 auf. Hier funktioniert es problemlos. Wenn ich es jetzt über ein anderes Skript, welches im Hintergrund läuft, welches auf Inputs des Pi reagiert, starten will, macht es nichts. Das anderes Skript funktioniert aber, da jegliche andere funktionen des Skripts ausgeführt werden.
(Button.php)
<?php
$preval1 = 1;
$preval2 = 1;
while(true){
//Auslesen von Button 1 & 2, 1 = Nicht gedrückt, 0 = gedrückt.
$val1 = trim(@shell_exec("/usr/local/bin/gpio -g read 9"));
$val2 = trim(@shell_exec("/usr/local/bin/gpio -g read 11"));
//Button 1 Gedrückt
if(($val1 == 0) and ($preval1 == 1)) {
$preval1 = 2;
include ‚Mail.php‘;
//echo „Button 1 pressed“;
}
//Button 2 Gedrückt
elseif(($val2 == 0) and ($preval2 == 1)) {
$preval2 = 2;
//echo „Button 2 pressed“;
shell_exec(„php /home/pi/YTPlayer.php5“);
}
//Button 1 Losgelassen
if($val1 == 1){
$preval1 = 1;
}
//Button 2 Losgelassen
if($val2 == 1){
$preval2 = 1;
}
}
?>
Kann mir jemand sagen warum es nicht funktioniert und was ich ändern muss damit es funkioniert ? Bisher habe ich leider noch nicht so häufig mit Linux basierten Systemen gearbeitet.