1,mac电脑执行代码时,生成的log文件后,我再执行command的时候,需要在log文件中写上记录,但是报错。
PHP Fatal error: Uncaught UnexpectedValueException: The stream or file
"/usr/local/var/www/feixiaoke-backend/storage/logs/lumen-2021-03-16.log"
could not be opened in append mode: failed to open stream: Permission
denied in /usr/local/var/www/feixiaoke-backend/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:111
2,ls -l 发现 log文件所属的group和user分别是nobody、staff。权限是-rw-r--r--。执行command的时候的用户是电脑当前登陆的用户,所以没有权限写入log,会报错。
3,后来查资料,nginx配置的问题,找到nginx.conf,原来被注释的第一行的user,放开,然后修改成user www www; 重新启动nginx后,发现log文件所属组依然没有变。
4,再次查资料发现,修改php-fpm的配置可以更改log文件所属组的问题。找到php-fpm.conf在/etc目录下,配置中没有user 和 group的配置,自己手动加上了这俩配置,再次重启php-fpm报错没有user这个配置。
5,发现/etc下的php-fpm.conf中最后一行是include=/private/etc/php-fpm.d/*.conf。所以又去/private/etc/php-fpm.d/目录中查找conf文件,发现了user和group的配置,都是nobody,修改为www。再次启动php-fpm,查看log文件,所属组终于被改过来了