将TCPDF输出文件权限更改为0777

时间:2014-04-29 10:43:01

标签: php file permissions tcpdf

我有一个项目,我需要用PHP生成各种PDF文档,所以我搜索并找到了TCPDF。在我将文件保存到某个文件夹之前,一切似乎都没问题。

因此,我创建了所需的文件夹,为其设置了0777权限,然后生成了一个文件。该文件已创建且看起来都很好,但该文件现在属于“守护程序”用户,并具有0644权限。

我需要生成的文件具有0777权限。我不介意'守护进程'用户作为所有者,但是知道如何将其设置为'root'用户也很酷。

我在官方文档中搜索了TCPDF的答案,但未找到答案,所以我来到这里寻求帮助。

那么,有人可以帮我解决一些消化问题吗?

1 个答案:

答案 0 :(得分:0)

我通过在umask中设置/etc/apache/envvars环境变量,在Debian服务器上的Apache安装中解决了这个问题。

在我的情况下,我想要的是用户和组具有写权限。我通过将该文件中的umask变量设置为007来实现此目的。该掩码应用于由Apache运行的任何用户继承的权限,因此在我的情况下,最终结果是PHP创建的所有文件在Apache中有660个。我想在你的情况下你可能需要000(或0000)。

设置执行权限绝对没有意义,我建议反对它,因为充其量它什么都不做,最坏的情况可能会引入一些奇怪的安全问题。

此答案包含有关设置umask的更多信息:Setting the umask of the Apache user

这个解决方案相对于PHP的chmod功能的唯一好处是你可以“设置并忘记它”,问题在于如果你忘记设置它就会出现问题。