目录中的文件似乎在运行Apache2作为Web服务器的Ubuntu盒上以某种方式被写保护。
当我尝试在SSH中编辑文件时,必须以root g.GetLength(1)
进行编辑。
有时,当PHP尝试使用sudo vi
写入服务器上的文件时,我会在PHP日志中的文件中收到权限被拒绝错误。
首先,我检查了问题目录file_put_contents()
中的文件和目录的权限(其中/var/www/foo
是服务器上某个站点的根网页目录)foo
< / p>
现在几乎所有东西都设置为755,递归地
stat -c "%a %n" *
当我使用PHP来执行775 cgi-bin
775 core.24135
775 gulpfile.js
775 index.php
775 material
775 media
775 node_modules
775 package-lock.json
775 package.json
775 readme.html
775 readme.md
664 sitemap.xml
755 views
775 wp-activate.php
775 wp-admin
775 wp-blog-header.php
775 wp-comments-post.php
775 wp-config-sample.php
775 wp-config.php
775 wp-cron.php
775 wp-includes
775 wp-links-opml.php
775 wp-load.php
775 wp-login.php
775 wp-mail.php
775 wp-settings.php
775 wp-signup.php
775 wp-trackback.php
775 xmlrpc.php
时,我得到了Apache默认用户whoami
。因为我希望这个用户和我自己写入目录,所以我创建了一个新组,并以递归方式给出了相关目录的所有权:
www-data
尽管如此,PHP对我写入的文件中存在权限被拒绝的问题,我需要sudo只是为了在SSH中进行编辑。
关于还有什么可能出错的任何想法?