在 Ubuntu 上配置 PHP-FPM 的权限,通常涉及以下几个方面:
PHP-FPM 默认以独立用户运行(通常是 www-data)。
sudo nano /etc/php/*/fpm/pool.d/www.conf
关键配置:
user = www-data
group = www-data
修改后需重启 PHP-FPM:
sudo systemctl restart php-fpm
# 或
sudo systemctl restart php8.1-fpm
假设网站目录是 /var/www/html:
sudo chown -R www-data:www-data /var/www/html
# 目录 755
sudo find /var/www/html -type d -exec chmod 755 {} \;
# 文件 644
sudo find /var/www/html -type f -exec chmod 644 {} \;
如果你是开发者,同时 PHP-FPM 是 www-data:
sudo usermod -aG www-data $USER
然后:
sudo chown -R $USER:www-data /var/www/html
sudo chmod -R 775 /var/www/html
重新登录生效
sudo chown -R www-data:www-data /var/www/html/storage
sudo chmod -R 775 /var/www/html/storage
ls -l /run/php/php-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
重启:
sudo systemctl restart php-fpm
+x)index.php 不存在或不可读is_writable($path);
检查目录 owner 是否为 www-data
一般无需处理
✅ 不要使用 777
✅ 不要 chown root:root 给 PHP 写目录
✅ 生产环境用 644 / 755
如果你愿意,可以告诉我:
我可以给你精确到命令的配置方案。