【发布时间】:2009-03-12 05:00:49
【问题描述】:
我正在开发一个通过 PHP 和 Apache 在 Fedora 10 机器上本地运行的应用程序。这取决于在后台运行的进程。
高层希望能够通过浏览器启动/停止/重新启动进程。我试图通过让 PHP 使用 exec() 和 shell_exec 调用系统来使其工作,但它似乎不起作用。
当我尝试使用“exec('processName')”启动进程时,没有任何反应。
当我尝试使用“exec('killall processName')”时,SELinux 开始不断弹出该进程被允许的警告(因为我将其置于允许模式),但它实际上并没有杀死该进程!但这似乎在页面完全加载后仍然存在!?!?
我能够以类似的方式调用另一个脚本:“exec('/var/www/cgi-bin/ControlProgram START')”。所以我不太确定这两个调用/命令之间的主要区别是什么。
我还将脚本调用放入 /etc/rc.local 文件中,以使脚本在登录时运行。但是,我可以从 PHP 中杀死这个脚本,因为它是由...系统运行的吗?
我不是权限/SELinux 方面的专家,所以不要吝啬血淋淋的细节!提前致谢!
【问题讨论】:
-
感谢您迄今为止的回复。今晚我会试试你的例子亚伦。 Nolte,我认为我根本没有修改 php.ini,但我会检查一下。谢谢。
标签: php apache shell cgi fedora10