在 Ubuntu 上设置 PHP 相关权限,通常分为文件/目录权限、PHP 运行用户权限、Web 服务器权限三部分。下面按常见场景说明。
Ubuntu 常见两种情况:
运行用户通常是:
www-data
PHP-FPM 运行用户也是:
www-data
查看用户:
ps aux | grep php-fpm
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/storage
/var/www/html/uploads
sudo chown -R www-data:www-data /var/www/html/storage
sudo chmod -R 775 /var/www/html/storage
如果仍报错,可临时测试:
sudo chmod -R 777 /var/www/html/storage
(生产环境不推荐 777)
如果你用普通用户 ubuntu 维护代码:
sudo chown -R ubuntu:www-data /var/www/html
sudo chmod -R 750 /var/www/html
sudo chmod -R 770 /var/www/html/storage
这样:
www-data 可写open_basedir
disable_functions
检查:
php -i | grep open_basedir
sudo chown -R www-data:www-data /var/www/laravel
sudo chmod -R 755 /var/www/laravel
sudo chmod -R 775 /var/www/laravel/storage
sudo chmod -R 775 /var/www/laravel/bootstrap/cache
如果你能告诉我:
我可以给你更精确的一条命令配置。