2010-04-02 99 views
0

默认情况下,当在PHP中使用system()exec()函数时,默认用户是SYSTEM,因此我永远无法看到结果。有没有办法改变它运行的用户?如何在PHP中使用特定用户的exec函数

+2

exec()将作为启动进程的用户(如apache)运行。这是不能改变的。但是,exec()应该返回命令的结果。 – webbiedave 2010-04-02 21:25:20

+0

如果不知道您使用哪种操作系统(以及您是否可能更改),则无法回答。虽然我相信微软有sudo like工具(sudowin) – symcbean 2010-04-02 22:01:24

+0

我使用Windows 7和Apache 2.2和PHP 5.3.2。 – Eric 2010-04-03 11:08:35

回答

0

要插件到webbiedave,您可以输出或保存到文件。 我的建议是将它保存到数据库,如果可以的话,这将防止竞争条件。

0

Web服务器可能会有另一个用户(例如suEXEC)运行脚本的规定,但PHP本身不能这样做。

0

您可以定义一个cronjob(特定用户),每分钟检查一次文件。使用PHP(其他用户),您可以写入该文件。如果cronjob在文件中找到某些东西,它就开始在特定用户下处理任务。这是恕我直言改变用户的唯一方式。

相关问题