- 首页 >
- 问答 >
-
云计算 >
- Ubuntu PHP日志的存储位置及权限
Ubuntu PHP日志的存储位置及权限
小樊
40
2025-11-30 03:28:38
Ubuntu PHP日志的存储位置与权限
一 常见日志类型与默认路径
- PHP错误日志(来自php.ini):路径由php.ini的error_log指定;若未显式设置,错误通常写入Web服务器的错误日志。常见位置为**/var/log/php_errors.log**(自定义时)或**/var/log/apache2/error.log**、/var/log/nginx/error.log(未自定义时)。
- PHP-FPM日志:常见为**/var/log/php-fpm.log或/var/log/php7.x-fpm.log**;此外,各进程池日志可在**/var/log/php-fpm/pool.d/www.log或/var/log/php7.x-fpm/www.log**;也可在**/etc/php/{版本}/fpm/php-fpm.conf或/etc/php/{版本}/fpm/pool.d/www.conf中通过error_log**指令自定义。
- Web服务器访问/错误日志:Apache 位于**/var/log/apache2/access.log**、/var/log/apache2/error.log;Nginx 位于**/var/log/nginx/access.log**、/var/log/nginx/error.log。
二 如何确认你的实际日志路径
- 查看php.ini中的error_log:执行php --ini定位加载的php.ini,打开对应文件(如**/etc/php/{版本}/{sapi}/php.ini**)查找error_log指令。
- 查看PHP-FPM配置:在**/etc/php/{版本}/fpm/php-fpm.conf与/etc/php/{版本}/fpm/pool.d/www.conf中查找error_log**、access.log指令。
- 直接查看常见日志文件:使用tail -f实时查看,如**/var/log/php_errors.log**、/var/log/php-fpm.log、/var/log/apache2/error.log、/var/log/nginx/error.log。
三 推荐的权限与属主设置
- 运行身份:Web服务与PHP-FPM通常以www-data:www-data运行(可在**/etc/php/{版本}/fpm/pool.d/www.conf或/etc/apache2/envvars**中确认)。
- 文件权限:日志文件建议设为660(-rw-rw----),属主为www-data:www-data,以允许进程写入同时限制其他用户访问。
- 目录权限:日志目录(如**/var/log/php-fpm/或自定义的/var/log/)建议755**,属主root:root,并确保运行用户对父目录有执行权限,以便创建/轮转日志。
- 示例命令:
- 创建目录并设权限:sudo mkdir -p /var/log/php-fpm && sudo chown root:root /var/log/php-fpm && sudo chmod 755 /var/log/php-fpm
- 设日志文件属主与权限:sudo touch /var/log/php-fpm/error.log && sudo chown www-data:www-data /var/log/php-fpm/error.log && sudo chmod 660 /var/log/php-fpm/error.log
四 安全与维护建议
- 生产环境建议:在php.ini中设置display_errors = Off、log_errors = On,将错误写入日志而非页面暴露。
- 日志轮转:使用logrotate管理日志大小与保留期,编辑**/etc/logrotate.d/apache2或/etc/logrotate.d/nginx**(以及自定义的php-fpm轮转配置),避免磁盘被占满。
- 变更生效:修改php.ini或PHP-FPM配置后,重启相应服务(如systemctl restart apache2、systemctl restart php{版本}-fpm、systemctl restart nginx)。