无法使用 shell_exec 启动 bash 脚本

无法使用 shell_exec 启动 bash 脚本

几天来我一直在谷歌搜索并尝试用我的 php 脚本解决这个问题,我希望这里有人可以看到我在使用我的 php 脚本启动我的 bash 脚本时所遗漏的问题。

这是我的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>";

这是 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

以下是文件的权限:

-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

以下是我在网络浏览器中得到的输出:

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

bashoutput.log 文件没有输出。

我检查了我的 php.ini,在 disable_functions 部分中没有对 exec 或 shell_exec 的引用。

答案1

我解决了我自己的问题。

修改php代码为:

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

相关内容