4

我有一些游戏服务器,我需要运行 shell 脚本以获得高质量。我试图弄清楚如何通过同一服务器上的网页运行这些脚本。这是一个 Ubuntu 专用服务器。

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

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

4

3 回答 3

9

你可以在 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');
于 2013-06-30T18:06:03.190 回答
0

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

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

或者

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

于 2015-04-26T12:26:24.573 回答
0

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

您的 shell 脚本应该存储在您的应用程序树附近或内部的某个地方,以便您可以授予对 PHP 脚本(即您的 Web 服务器)的访问权限,而不会过多地损害您的文件系统安全性。

于 2013-06-30T18:48:37.920 回答