通过PHP执行.sh脚本

我有几个游戏服务器,我需要运行shell脚本进行frequality。 我想弄清楚如何通过同一台服务器上的网页来运行这些脚本。 这是一个Ubuntu专用服务器。

网站文件通过/var/www/... 。我需要手动运行的.sh文件位于/home/amservers/.../start.sh

我看了其他答案,我仍然无法弄清楚。 如何find文件并存储它,然后运行exec()?

Solutions Collecting From Web of "通过PHP执行.sh脚本"

你可以在PHP中使用shell_exec()函数:

http://php.net/manual/en/function.shell-exec.php

 shell_exec('sh script.sh'); 

如果你想在bash中使用变量($ 1,$ 2等),只需键入:

 shell_exec('sh script.sh variable1 variable2'); 

您可以使用绝对路径或相对路径。 对于相对路径,当前目录通常是PHP文件的。 如果即使使用绝对路径也无法访问脚本,则可能存在文件系统访问权限问题。 请记住,PHP脚本通常作为Web服务器(系统)用户帐户来执行。

你的shell脚本应该存放在你的应用程序树附近或内部的某个地方,这样你就可以为你的PHP脚本(即你的web服务器)授予访问权限,而不会影响你的文件系统的安全性。

如果你想在浏览器上检查脚本的输出,你可以简单地使用它

var_dump(shell_exec('sh script.sh'));

要么

var_dump(shell_exec('sh script.sh variable1 variable2'));