使用PHP Web界面管理流程

时间:2013-07-26 00:13:19

标签: php apache

我正在处理一个项目,需要我使用Web界面管理(停止,启动,重新启动)脚本。该脚本在启动时作为cron作业启动。

问题是脚本必须以root访问权限运行。有没有办法用PHP / Apache安全地做到这一点?

如果没有,我怎么能使用网络界面管理这个脚本?

2 个答案:

答案 0 :(得分:0)

您可以使用可执行文件来管理脚本,并使用shell_exec从PHP页面运行该脚本。然后它是需要以root身份设置SETUID的可执行文件。

在Linux中,这仅适用于本机可执行文件而不适用于shell脚本,请参阅此讨论: How to run a script with root authority in Linux

答案 1 :(得分:0)

我无法使shell_exec方法起作用,因此我在数据库中设置了一个表,并使用PHP更新了该表中的值。我有一个使用Cron运行的Python监视程序来检查该表中的值。如果发现脚本启动命令已发送,则启动脚本,或执行多个不同操作之一。这很好用,避免使用有争议的SETUID,而apache不需要任何特殊权限。