我的工作,通过PHP和Apache一个Fedora 10的机器上本地运行的应用程序。它取决于在后台运行的过程。

在上级希望能够启动/停止/重启的过程中,通过浏览器。我试图让这个具有PHP让使用exec()和到了shell_exec系统调用的工作,但它似乎并没有工作。

当我尝试使用 “EXEC( 'processName')” 开始的过程中,没有反应。

当我尝试使用“EXEC(‘killall processName’)”,SELinux的开始不断弹出警告,这一进程被允许(因为我把它改成许可模式),但它实际上并没有杀掉该进程!但是,这似乎下去即使在页面完全加载!?!?

I AM能够调用另一脚本以类似的方式: “EXEC( '/无功/网络/的cgi-bin / ControlProgram START')”。所以,我真的不知道的主要区别是在两个通话/命令之间的东西。

我也把脚本调用到/etc/rc.local文件以在登录时运行该脚本。不过,我就能杀死从PHP这个脚本,因为它的运行由...系统?

我不是大师,当涉及到权限/ SELinux的,所以不要血淋淋的细节不遗余力!由于事先!

有帮助吗?

解决方案 2

我相信我发现这个问题。我还不能完全确定是什么问题,但它看起来像它是与文件/目录的权限。当我移动脚本到我的/ var / www / html等目录,脚本运行。我搬到他们到在/ var / WWW / cgi-bin目录,他们也在那里工作。所以它可能是一些地方阿帕奇不能执行是在/ var / www目录之外的,或者至少是不能直接做脚本。感谢您的帮助虽然!

其他提示

如果你有过这套系统,你将要检查PHP配置的行政控制(确保它是Web服务器的配置配置文件)。

safe_mode设置将防止从PHP特定文件夹以外执行任何东西。在共享的托管环境中,这通常意味着你只能执行的东西,是相对于您的家庭/ WWW文件夹 - 这似乎根据你的笔记是这样

这听起来像老派UNIX权限以及如何阿帕奇操作。我记得做(尽管它已经有一段时间)Apache正在仔细什么它将执行。仔细检查你的八进制。

要验证它是不是SELinux的可以改为禁用把它在宽容的吧。虽然这会导致文件系统重新标签(或应该)。在这一点上你了SELinux上下文扩展属性能拿出来的怪人,并在再次执行一度引起SELinux的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top