标签 php 下的文章

过程

今天在配置新服务器时发现一个很奇怪的错误。安装php时,直接运行apt install php-fpm再在nginx配置文件中加入php8.3-fpm.sock的链接,竟然一直告诉我“File not found.”。装了多久服务器,愣是第一次遇到这种错误。重装php-fpm,换源再装什么的都试了个遍都没用。用systemctl status php8.3-fpm.service查看运行状态也一点问题没有。

找了一圈,都给我说是php没装好。没办法,只能自己摸索了。

/run/php目录下面,突然注意到一点:用户。

26c14484c689d69af070b090b0f965ee.png

php8.3-fpm.sock的拥有者www-data一般被用来管理网站内容。但在这里就不同了。我前两天安装nginx改根目录时也遇到同样奇怪的问题。明明位置是对的,目录权限也设成了777,但就是报错404 Not Found。在我跟上一台服务器的nginx配置对比时,我发现只要在nginx.conf内把user一项改掉就好了,随便改成默认账户还是root都行。这里我想可能遇到了同样的问题。于是我找到配置用户的位置(在/etc/php/8.3/fpm/pool.d/www.conf),同样把用户改为默认用户,再次重启服务,成功打印出phpinfo。

结论/解决方案

到php的配置文件www.conf(我的是在/etc/php/8.3/fpm/pool.d/www.conf)将所有的www-data用户改为你的默认账户(除了root账户)即可。

我这里把usergrouplisten.ownerlisten.group都改为了ubuntu

d7703db11d9bb947045f5457dbb24769.png

我在配置nginx时也有类似问题,将/etc/nginx/nginx.conf中第一行的user选项修改掉即可。

2e7304092af8b1e347512003711a0a3d.png


暂时不明白原因。总之记录一下,以免以后又碰到了再懵圈。