/ / Führe ein PHP-Skript im Hintergrund mit dem Befehl shell_exec aus, das mit SSH funktioniert - PHP, Shell, SSH, Putty, Shell-Exec

Führen Sie ein PHP-Hintergrundskript mit dem Befehl shell_exec aus, der mit SSH funktioniert - PHP, Shell, SSH, Putty, Shell-Exec

Das Problem, mit dem ich einige Stunden lang zu kämpfen habe, ist: Ich möchte ein Skript im Hintergrund mit PHP ausführen, daher verwende ich die Funktion shell_exec () und kann es nicht zum Laufen bringen. Ist aber kein Problem im Zusammenhang mit der Funktion shell_exec, da ich den Befehl shell_exec ("sleep 5") getestet habe und er funktioniert hat. Der Befehl, den ich ausführen möchte, lautet:

shell_exec("nohup /kunden/usr/local/bin/php5.4 /kunden/homepages/XX/dXXXXXXXX/htdocs/myproject/background_script.php > /dev/null 2>&1 & echo $!");

Das Skript fügt eine Zeile in eine MySQL-Datenbank ein. Ich habe genau den gleichen Befehl in den Anführungszeichen über SSH mit Kitt getestet und es hat perfekt funktioniert, aber ich kann es nicht über den Webbrowser zum Laufen bringen.

Ich denke nicht, dass es wichtig ist, aber es ist ein gemeinsamer Server mit 1 und 1.

Antworten:

1 für die Antwort № 1

Nach dem Originalplakat:

Endlich habe ich die Bibliothek phpseclib benutzt und jetzt funktioniert sie.

$ssh = new Net_SSH2("myhosting");
if (!$ssh->login("user", "pass")) {
exit("Login Failed");
}

$this->pid = $ssh->exec(sprintf(
"%s > %s 2>&1 & echo $!",
$this->command,
$outputFile
));