我有一个PHP脚本写入文件。 但是,当我试图写入文件,我得到权限被拒绝。 我怎么能告诉哪些用户名我需要添加到文件的权限,以便PHP写入它?
我怎么能告诉哪些用户名我需要添加到文件的权限,以便PHP写入它?
ps axu|grep apache|grep -v grep
无论文件是什么,或者目录,如果apache需要写入,它需要由apache , httpd , www-data ,或者你的服务器上运行的用户apache所有。 你说在响应中它是www-data ,所以作为root,你应该使用chown www-data filename来改变所有权。
我强烈build议不要将权限更改为777,因为在您的服务器上有可读/写的全球文件和目录会带来一些安全风险。
最终,我会configuration您的脚本写入到设置的path,然后将该path的所有权更改为www-data以便将来的文件可以在那里创build,如果需要,而不需要您的交互。
这也会带来风险,因为受损脚本可以在该目录中编写并执行任何想要的操作。
尽可能多的痛苦,按档案做文件风险较小。
我倾向于把文件CHMOD到777,假设你在Unix平台上运行。 可能不是最安全的事情,必须可靠地完成工作。 我相信别人会有更好的解决scheme!