Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为特定脚本授予特殊权限?_Php_Nginx - Fatal编程技术网

Php 如何为特定脚本授予特殊权限?

Php 如何为特定脚本授予特殊权限?,php,nginx,Php,Nginx,我有一个脚本foo.php,负责在整个系统中操作一些静态文件。问题是,只有当我使用sudo运行它时,它才会工作,否则将出现权限不足错误 这是因为这些文件具有CHMOD644。有没有办法设置nginx或使用其他用户(对于这个微妙的问题,最好是root用户)来执行这个特定脚本?将脚本设置为: 尝试设置具有根权限的专用php fpm实例,该实例将仅为您指定的脚本服务。将它放在chroot中,应该可以正常工作。这不是通常执行PHP脚本的方式(除非它们的CLI)。在本例中,因为它来自web服务器,所以所有

我有一个脚本
foo.php
,负责在整个系统中操作一些静态文件。问题是,只有当我使用
sudo
运行它时,它才会工作,否则将出现权限不足错误

这是因为这些文件具有CHMOD
644
。有没有办法设置nginx或使用其他用户(对于这个微妙的问题,最好是root用户)来执行这个特定脚本?

将脚本设置为:


尝试设置具有根权限的专用php fpm实例,该实例将仅为您指定的脚本服务。将它放在chroot中,应该可以正常工作。

这不是通常执行PHP脚本的方式(除非它们的CLI)。在本例中,因为它来自web服务器,所以所有者只是(低特权的)web进程。经过一点研究,我发现这个解决方案最适合我的需要。如果没有其他解决办法,我将提出这一点作为答案。
chmod +s foo.php