1

我目前正在使用 PHP 7.0.6 fpm 运行 Apache/2.4.10 (Debian Jessie)

现在我需要将 umask 0002 添加到所有点php-fpm.conf,以便www-data用户创建具有rw-rw-r权限的文件。

4

2 回答 2

0

我希望这会奏效,请尝试这种方式

手动编辑/etc/systemd/system/multi-user.target.wants/ php7.0-fpm.service 文件并UMask=0002在 [Service] 部分中添加行。

以前,是这样的。

在此处输入图像描述

然后

运行命令systemctl daemon-reload

然后

运行命令 systemctl restart php7.0-fpm.service

现在服务文件如下所示:

[Unit]
Description = The PHP FastCGI Process Manager
After = network.target

[Service]
Type = notify
PIDFile = /var/run/php/php7.0-fpm.pid 
ExecStartPre = /usr/lib/php/php7.0-fpm-checkconf
ExecStart = /usr/sbin/php-fpm7.0 --nodaemonize --fpm-config /etc/php/7.0/fpm/php-fpm.conf
ExecReload = /bin/kill -USR2 $MAINPID
; Added to set umask for files created by PHP
UMask = 0002

[Install]
WantedBy = multi-user.target

注意:您不能使用systemctledit php7.0-fpm.service 命令,因为版本 218 中引入了编辑选项,systemctl但 Debian 8 附带版本 215。

于 2016-09-02T11:53:19.163 回答
0

关于威廉·特瑞尔的评论:

Asudo -u www-data touch foo将触摸文件foo,就好像网络服务器在没有 PHP 的情况下完成了它一样。因此,将使用网络服务器进程 umask,而不是 PHP-FPM 中的设置。要更改网络服务器进程 umask,您需要编辑envvars文件/etc/apache2(对于基于 Debian 的系统)。

于 2021-07-20T10:40:50.610 回答