在Ubuntu系统中,PHP-FPM权限问题通常是由于用户和组设置不正确导致的。以下是一些建议来解决这个问题:
确保PHP-FPM服务使用的用户和组与Nginx或Apache服务使用的用户和组相同。通常情况下,这两个服务都使用www-data用户和组。
修改PHP-FPM配置文件/etc/php/版本号/fpm/pool.d/www.conf(将版本号替换为你的PHP版本),找到以下两行:
user = www-data
group = www-data
确保这两行没有被注释掉,并且用户和组设置正确。
/etc/nginx/sites-available/你的站点配置文件中找到以下内容:root /var/www/你的站点目录;
index index.php index.html index.htm;
确保root指令指向的目录的所有权设置为www-data用户和组。你可以使用以下命令来更改所有权:
sudo chown -R www-data:www-data /var/www/你的站点目录
对于Apache,你可以在/etc/apache2/sites-available/你的站点配置文件中找到以下内容:
DocumentRoot /var/www/你的站点目录
同样,确保DocumentRoot指向的目录的所有权设置为www-data用户和组。
swoole.conf或swoole.ini配置文件中设置这些值:swoole.user = www-data
swoole.group = www-data
sudo systemctl restart php版本号-fpm
sudo systemctl restart nginx
或者对于Apache:
sudo systemctl restart apache2
/var/log/php版本号-fpm.log。对于Nginx,错误日志通常位于/var/log/nginx/error.log。对于Apache,错误日志通常位于/var/log/apache2/error.log。遵循以上步骤应该可以解决Ubuntu系统中PHP-FPM的权限问题。如果问题仍然存在,请提供更多详细信息以便进一步排查。