求教怎么让 PHP 创建的文件是 www 组。

2018-08-27 16:50:31 +08:00
 liangming1
2732 次点击
所在节点    PHP
12 条回复
R18
2018-08-27 17:10:56 +08:00
chgrp & chown 只有 superuser 可用 一般是用在 CLI 端的
WEB 端 只要你的 PHP-FPM/Apache/Nginx 是由 WWW 启动的 那它创建的文件也就是 WWW
vus520
2018-08-27 17:29:38 +08:00
你应该是用 web 跑的 php-php, php-fpm.conf 里,有一个 user 和 group 组的选项,默认是 www
liangming1
2018-08-27 17:37:29 +08:00
@vus520 php-fmp.conf 里面 user 是 www 的,但是 php 自动生成的文件是 root 的。我希望是它生成的文件是 www 的。
liangming1
2018-08-27 17:38:25 +08:00
@R18 哦哦,好的,我看了一下,php 和 nginx 都是用 root 启动的。
vus520
2018-08-27 18:43:42 +08:00
> 但是 php 自动生成的文件是 root 的

这说明你的 php-fpm 运行的时候,是用 root 运行的,一般来说你可能是直接用 php-fpm 启动了,而没有指定 fpm 的配置文件,可以试试 service 启动,或者用下面的命令

>/usr/local/opt/php71/sbin/php-fpm --daemonize --fpm-config /usr/local/etc/php/7.1/php-fpm.conf
randyzhao
2018-08-28 09:03:18 +08:00
以防楼主折腾半天都不对,我提供一个新思路

chgrp(test.php, usergroup)
chown(test.php, user)
szopen
2018-08-28 09:45:49 +08:00
php-fpm.conf 有一个 ACL 配置项,修改该配置可以让 PHP 创建的 session 数据之类文件可被配置的相关组访问到
liangming1
2018-08-28 16:36:56 +08:00
@randyzhao 这个是可以,但是我希望的是 php 生成的时候就是 www 组的,这样的话 ftp 账号就可以直接编辑这些文件了,而不需要重新修改为 www。
liangming1
2018-08-28 16:42:41 +08:00
@szopen 我找了 conf,好像并没有找到 ACL 这个配置项。
szopen
2018-08-29 09:02:28 +08:00
szopen
2018-08-29 09:06:41 +08:00
@liangming1 该选项是默认激活,但是如果系统没有 libacl 库,将无法启用该选项
zhouyut001
2018-08-29 11:22:31 +08:00
chmod -R www-data:www-data / var/www

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/483699

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX