温馨提示×

ubuntu php怎么设权限

小樊
35
2026-10-10 06:54:01
栏目: 编程语言

在 Ubuntu 上给 PHP 相关文件/目录设置权限,通常是为了让 Web 服务器(Apache / Nginx + PHP-FPM) 能正常读取、写入文件。下面分场景说明。


一、先确认你用的 Web 服务用户

Apache

ps aux | grep apache

一般是:

  • www-data

Nginx + PHP-FPM

ps aux | grep php-fpm

一般也是:

  • www-data

二、常见目录权限设置(推荐做法)

假设你的网站目录是:

/var/www/html

1️⃣ 设置目录所有者

把目录所有者改成你的用户 + web 用户组:

sudo chown -R youruser:www-data /var/www/html

2️⃣ 设置目录权限(755)

sudo find /var/www/html -type d -exec chmod 755 {} \;

3️⃣ 设置文件权限(644)

sudo find /var/www/html -type f -exec chmod 644 {} \;

三、PHP 需要“写文件”的目录(如上传、缓存)

例如:

/var/www/html/storage
/var/www/html/uploads
sudo chmod -R 775 /var/www/html/storage
sudo chown -R www-data:www-data /var/www/html/storage

⚠️ 不建议 777,不安全。


四、PHP 本身相关权限

PHP 配置文件

sudo chmod 644 /etc/php/*/apache2/php.ini
# 或
sudo chmod 644 /etc/php/*/fpm/php.ini

PHP session 目录

sudo chown -R www-data:www-data /var/lib/php/sessions
sudo chmod 733 /var/lib/php/sessions

五、常见错误 & 解决

❌ Permission denied

说明 Web 用户没有读/写权限
✅ 检查目录 owner 和权限

❌ 上传文件失败

✅ 上传目录需 www-data 可写

❌ 命令行 PHP 正常,网页 PHP 报错

✅ 命令行是 root/你,网页是 www-data


六、快速安全模板(推荐)

sudo chown -R $USER: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 {} \;

如果你能告诉我:

  • 用的是 Apache 还是 Nginx
  • PHP 版本
  • 具体报什么错

我可以给你更精确的命令。

0 踩