exec() mit php nutzen


tklustig

Erfahrenes Mitglied
#1
Hallo Leute,
folgender Shellbefehl verschickt eine Mail:
Bash:
 ssmtp tklustig.thomas@gmail.com < /home/pi/PHPMail/test.ext
Wenn ich versuche, diesen Shellbefehl über PHP abzusetzen, passiert rein gar nix. Kein Error, keine Warnung, nix! Wie geht's richtig?
PHP:
$shellOrder="ssmtp tklustig.thomas@gmail.com < /home/pi/PHPMail/test.ext";
exec($shellOrder . " > /dev/null &");
system($shellOrder . " > /dev/null &");
shell_exec($shellOrder . " > /dev/null &");
Auch so funktioniert es nicht:
PHP:
if(file_exists('sendmail.sh'))
            unlink('sendmail.sh');
$datei = fopen("sendmail.sh", "a+");
fputs($datei,"#!/bin/bash");
fputs($datei,"\r\n");
fputs($datei,"ssmtp tklustig.thomas@gmail.com < /home/pi/PHPMail/test.ext");
fputs($datei,"\r\n");
fputs($datei,"exit");
fputs($datei,"\r\n");
fclose($datei);
shell_exec("chmod 777 sendmail.sh");
shell_exec("./sendmail.sh");
shell_exec("sendmail.sh 2>/dev/null >/dev/null &");
Das chmod wird ausgeführt, danach ist jedoch Schluß mit lustig...
 
Zuletzt bearbeitet:

tklustig

Erfahrenes Mitglied
#3
Das Ganze wird auf dem Webserver meines Raspberry ausgeführt. Ich verfüge über die Rechte von www-data! In der php.ini steht folgendes:
Code:
error_reporting  =  E_ALL
display_errors = On
die Errorlog bringt nix, weil aus Sicht von PHP wohl kein Error auftritt. Die Linuxstatements werden schlicht und ergreifend nicht alle ausgeführt, zumindest der Mailbefehl und das Starten des Bashscriptes nicht
 
Zuletzt bearbeitet:

tklustig

Erfahrenes Mitglied
#4
Wenn ich versuche, das durch php erzeugte ShellScript zu starten, bekomme ich folgende widersinnige Errormeldung in/var/log/apache2.
Code:
sh: 1: /var/www/html/sendmail.sh: not found
Widersinnig aufgrund dieses Codes:
PHP:
    if(file_exists('/var/www/html/sendmail.sh')){
            $path="/var/www/html/sendmail.sh";
            shell_exec($path);
        }else
            die();
Wenn ich versuche, den funktionierenden Konsolenbefehl
Bash:
ssmtp tklustig.thomas@gmail.com < /home/pi/PHPMail/test.ext
wie folgt zu starten:
PHP:
shell_exec("ssmtp tklustig.thomas@gmail.com < /home/pi/PHPMail/test.ext");
wird folgende Fehlermeldung fabriziert:
Code:
ssmtp: 501 Syntax error in parameters or arguments
 
Zuletzt bearbeitet: