Bash-Skript kann nicht mit shell_exec gestartet werden

Bash-Skript kann nicht mit shell_exec gestartet werden

Ich habe jetzt seit einigen Tagen gegoogelt und versucht, dieses Problem mit meinem PHP-Skript zu lösen, und ich hoffe, dass jemand hier das Problem erkennt, das ich übersehe, wenn ich mein PHP-Skript dazu bringe, mein Bash-Skript zu starten.

Hier ist mein PHP:

//kickoff the yapeal script
echo "Starting yapeal.sh<br>";
echo "Current working directory: ";
echo getcwd() . "\n";
shell_exec('./yapeal.sh');
echo "<br>yapeal.sh ran, I hope.<br>";

Hier ist die yapeal.sh

#!/bin/bash
cd /var/www/tools/applications
php -f /var/www/lib/yapeal/yapeal.php
sleep 5s
echo "`date -u` Yapeal kicked off, working" > bashoutput.log 2>&1

Hier sind die Berechtigungen für die Dateien:

-rwxrwxrwx 1 www-data www-data 4640 Jul 10 07:20 index.php
-rwxrwxrwx 1 www-data www-data 2845 Jul 10 07:33 working.php
-rwxrwxrwx 1 www-data www-data  232 Jul 10 07:17 yapeal.sh

Folgendes erhalte ich als Ausgabe im Webbrowser:

Starting yapeal.sh
Current working directory: /var/www/tools/applications
yapeal.sh ran, I hope.

Es gibt keine Ausgabe in der Datei bashoutput.log.

Ich habe meine php.ini überprüft, es gibt im Abschnitt „disable_functions“ keinen Verweis auf exec oder shell_exec.

Antwort1

Ich habe mein eigenes Problem gelöst.

Der PHP-Code wurde wie folgt geändert:

$output = shell_exec('./yapeal.sh');
echo $output;

verwandte Informationen