如何在特定用户上使用PHP中的exec函数

如何在特定用户上使用PHP中的exec函数,php,Php,默认情况下,当PHP中使用system和exec函数时,默认用户是system,因此我永远看不到结果。有没有办法更改它运行的用户?要添加到webbiedave,您可以将其输出或保存到文件中。 我的建议是,如果可以的话,将其保存到数据库中,这将防止出现争用情况。web服务器可能有作为另一个用户(例如suEXEC)运行脚本的规定,但PHP本身不能这样做。您可以定义特定于cronjob的用户,该用户每分钟检查一次文件。使用PHP其他用户可以写入此文件。如果cronjob在文件中找到了什么,它将在特定用

默认情况下,当PHP中使用system和exec函数时,默认用户是system,因此我永远看不到结果。有没有办法更改它运行的用户?

要添加到webbiedave,您可以将其输出或保存到文件中。
我的建议是,如果可以的话,将其保存到数据库中,这将防止出现争用情况。

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

您可以定义特定于cronjob的用户,该用户每分钟检查一次文件。使用PHP其他用户可以写入此文件。如果cronjob在文件中找到了什么,它将在特定用户下开始处理任务。这是IMHO更改用户的唯一方法。

exec将作为启动进程的用户(如apache)运行。这是无法改变的。但是,exec应该返回命令的结果。如果不知道您使用的是什么操作系统以及您是否可能更改,则无法回答。虽然我相信微软的sudowinI有一个类似sudo的工具,但我使用的是Windows7和Apache2.2以及PHP5.3.2。