Guten Tag in die Runde!
Habe gestern stolz mein 1. Plugin aud dem WG ausgeführt. Funktioniert prima.
Nun möchte ich das Plugin mit einem Systemaufruf "system('var/www/knx/test/test.php')" erweitern.
Der Grund hierfür liegt darin, dass ich bzgl. Perl gewisse Aversionen habe und daher alles Weitere mit einem PHP-Script erledigen möchte.
Zum Test habe ich zwei Scripte geschrieben. Ein PHP und ein Perl-Script.
Das PHP-Script läuft auf dem WG nach Aufruf über den Browser einwandfrei. Rechte auf "777".
Habe zum Test das mini PHP-Script unter "/var/www/knx/test/test.php" und ein mini Perl-Script unter "/var/www/knx/perl/test.pl'); erstellt:
-------------------------------- test.pl ------------------------------
#!/usr/bin/perl
use warnings;
use strict;
print "Content-type: text/html\n\n";
#system('ls', '/var/www/knx/test/test.php');
system('/var/www/knx/test/test.php');
if ( $? == -1 )
{
print "Fehler: $!\n";
}
else
{
printf "Kommando ausgeführt mit Rückkehrwert %d", $? >> 8;
}
---------------------------------- /test.pl ----------------------------
---------------------------------- test.php ----------------------------
#!/usr/lib/cgi-bin/php
<?php
include "../inc/config.inc.php";
if (( isset( $_GET['value'] )) && ( $_GET['value'] == "TEST" )) $msg = "Query Test ok";
else $msg = "Query Test nicht ok";
$subject = "Zugriff auf test.php";
$message = "Zugriff auf test.php über " . $ip . "\n";
$message .= $msg . "\n";
$message .= "Datum: " . $datum . " Uhrzeit: " . $uhrzeit . "\n";
$header = "From: xxx@xxx.de\nReply-to:xxx@xxx.de\nRet...th:<xxx@xxx.de>\n";
@mail( "xxx@jxxx.de", $subject, $message, $header );
?>
--------------------------------- /test.php ------------------------------
Wenn ich die auskommentierte Funktion im Perl-Script anwende, erhalte ich ich eine korrekte Anzeige wie folgt:
"/var/www/knx/perl/test.php Kommando ausgeführt mit Rückkehrwert 0"
Bei der Ausführung von "system('/var/www/knx/test/test.php');" erhalte ich die Antwort "Fehler:
No such file or directory"
Wo liegt der Hase im Pfeffer?
MfG
J. K.
Habe gestern stolz mein 1. Plugin aud dem WG ausgeführt. Funktioniert prima.
Nun möchte ich das Plugin mit einem Systemaufruf "system('var/www/knx/test/test.php')" erweitern.
Der Grund hierfür liegt darin, dass ich bzgl. Perl gewisse Aversionen habe und daher alles Weitere mit einem PHP-Script erledigen möchte.
Zum Test habe ich zwei Scripte geschrieben. Ein PHP und ein Perl-Script.
Das PHP-Script läuft auf dem WG nach Aufruf über den Browser einwandfrei. Rechte auf "777".
Habe zum Test das mini PHP-Script unter "/var/www/knx/test/test.php" und ein mini Perl-Script unter "/var/www/knx/perl/test.pl'); erstellt:
-------------------------------- test.pl ------------------------------
#!/usr/bin/perl
use warnings;
use strict;
print "Content-type: text/html\n\n";
#system('ls', '/var/www/knx/test/test.php');
system('/var/www/knx/test/test.php');
if ( $? == -1 )
{
print "Fehler: $!\n";
}
else
{
printf "Kommando ausgeführt mit Rückkehrwert %d", $? >> 8;
}
---------------------------------- /test.pl ----------------------------
---------------------------------- test.php ----------------------------
#!/usr/lib/cgi-bin/php
<?php
include "../inc/config.inc.php";
if (( isset( $_GET['value'] )) && ( $_GET['value'] == "TEST" )) $msg = "Query Test ok";
else $msg = "Query Test nicht ok";
$subject = "Zugriff auf test.php";
$message = "Zugriff auf test.php über " . $ip . "\n";
$message .= $msg . "\n";
$message .= "Datum: " . $datum . " Uhrzeit: " . $uhrzeit . "\n";
$header = "From: xxx@xxx.de\nReply-to:xxx@xxx.de\nRet...th:<xxx@xxx.de>\n";
@mail( "xxx@jxxx.de", $subject, $message, $header );
?>
--------------------------------- /test.php ------------------------------
Wenn ich die auskommentierte Funktion im Perl-Script anwende, erhalte ich ich eine korrekte Anzeige wie folgt:
"/var/www/knx/perl/test.php Kommando ausgeführt mit Rückkehrwert 0"
Bei der Ausführung von "system('/var/www/knx/test/test.php');" erhalte ich die Antwort "Fehler:
No such file or directory"
Wo liegt der Hase im Pfeffer?
MfG
J. K.
Kommentar