通过PHP执行.sh脚本

时间:2013-06-30 18:01:43

标签: php linux sh

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

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

我看了其他答案,但我仍然无法理解。如何找到并存储它然后运行exec()?

3 个答案:

答案 0 :(得分: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');

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

如果你想在浏览器上检查脚本输出而不是简单地使用

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

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