首先要明确php-fpm的master是用root启用的,而pool是用www-data启用的,如下图
在Dockerfile中开启了cron后,cron是使用root运行的,如下截图
于是就产生一个问题:
1、同一个项目用户使用浏览器访问会生产的log的属主是www-data(原因请查看这篇文章)
2、同一个项目在cron跑会产生的log的属主是root
3、www-data用户权限是不准对root用户权限的log进行写操作
但不幸的是cron只允许用root权限去run
所以我们只能将php-fpm的pool也使用root权限
1、修改php-fpm.conf下include的www.conf的路径,如下图:
2、在/usr/local/etc/php-fpm.d/www.conf下找到权限配置,如下图:
修改为root
3、我们使用php-fpm -l会发现有一个命令可以让php-fpm用root运行,如下图:
4、使用php-fpm -R命令就可以完全,如下图