在 Debian 上修改 PHP 相关权限,通常分为几种常见场景。下面按最常见情况给你说明。
Debian 下 PHP 一般通过 Web 服务器运行:
www-datawww-dataps aux | grep php
ps aux | grep nginx
ps aux | grep apache
假设网站目录是 /var/www/html
# 修改目录所有者
sudo chown -R www-data:www-data /var/www/html
# 设置目录权限
sudo find /var/www/html -type d -exec chmod 755 {} \;
# 设置文件权限
sudo find /var/www/html -type f -exec chmod 644 {} \;
✅ 安全且常用
例如:
/var/www/html/uploads
/var/www/html/storage
sudo chown -R www-data:www-data /var/www/html/uploads
sudo chmod -R 775 /var/www/html/uploads
⚠️ 不要用 777,除非临时调试
如果你是多站点,可以改 PHP-FPM 用户:
sudo nano /etc/php/8.2/fpm/pool.d/www.conf
找到:
user = www-data
group = www-data
改成你的用户,例如:
user = myuser
group = myuser
重启:
sudo systemctl restart php8.2-fpm
sudo nano /etc/apache2/envvars
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
Nginx 本身不执行 PHP,只是转发给 PHP-FPM
Debian 默认是 AppArmor,一般不影响权限
如有问题:
sudo aa-status
sudo chmod -R 777 /var/www/html
❌ 有安全风险
查看错误:
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/php8.2-fpm.log
如果你能告诉我:
我可以直接给你精确命令 ✅