温馨提示×

ubuntu php日志权限怎么设

小樊
38
2026-09-09 12:18:50
栏目: 编程语言

在 Ubuntu 上设置 PHP 日志权限,通常取决于你用的 PHP 运行方式(PHP-FPM / Apache mod_php / CLI)以及日志写在哪里。下面按常见场景说明。


一、先确认 PHP 日志位置

1. PHP 错误日志(php.ini)

log_errors = On
error_log = /var/log/php/php-error.log

查看当前配置:

php -i | grep error_log

二、常见运行方式与对应用户

运行方式 用户
PHP-FPM www-data
Apache + mod_php www-data
Nginx + PHP-FPM www-data
CLI 当前登录用户

三、推荐日志目录权限设置(最常用)

1. 创建日志目录

sudo mkdir -p /var/log/php

2. 设置目录权限

sudo chown -R www-data:www-data /var/log/php
sudo chmod 755 /var/log/php

3. 设置日志文件权限

sudo touch /var/log/php/php-error.log
sudo chown www-data:www-data /var/log/php/php-error.log
sudo chmod 644 /var/log/php/php-error.log

这是最安全、最常见的做法


四、如果你用的是 PHP-FPM 多池(pool)

不同 pool 可能用不同用户,比如:

user = appuser
group = appuser

那日志目录要改成:

sudo chown -R appuser:appuser /var/log/php

五、Laravel / 框架日志(如 storage/logs)

如果是框架(Laravel 等):

sudo chown -R www-data:www-data storage/logs
sudo chmod -R 755 storage/logs

如果仍报错:

sudo chmod -R 775 storage/logs

六、SELinux / AppArmor(Ubuntu 一般不用 SELinux)

Ubuntu 默认用 AppArmor,一般不影响 /var/log/php,除非你自定义路径。


七、排错技巧

日志不写?

sudo tail -f /var/log/php/php-error.log

权限错误?

ls -l /var/log/php
ps aux | grep php-fpm

八、总结(最稳妥方案)

sudo mkdir -p /var/log/php
sudo chown www-data:www-data /var/log/php
sudo chmod 755 /var/log/php

如果你愿意,可以告诉我:

  • PHP 版本
  • 是否用 Nginx / Apache
  • 日志路径

我可以给你完全匹配你服务器的命令

0