⚙️ 配置文件
TBlog 的所有运行时配置都在 config.php 里。本文逐项解释,并给出生产环境推荐值。
📁 文件位置
配置文件位于 TBlog 根目录:
# TBlog 根目录 ├── admin/ ├── include/ ├── templates/ ├── index.php ├── config.php ← 配置文件 └── install.php
📐 文件结构
配置文件是一个返回数组的 PHP 文件:
config.php
<?php // TBlog 配置文件 return [ // 数据库配置 'DB_HOST' => 'localhost', 'DB_USER' => 'tblog', 'DB_PASS' => 'strong_password_here', 'DB_NAME' => 'tblog', 'DB_PORT' => 3306, 'DB_PREFIX' => 'tblog_', ];
📋 配置项详解
DB_HOST
数据库主机地址。
- 本地:
localhost或127.0.0.1 - Docker / 远程:内网 IP(如
10.0.0.5)或域名 - 云数据库:服务商提供的连接地址
DB_USER / DB_PASS
数据库连接的用户名和密码。
⚠️
不要用 root
生产环境建议为 TBlog 单独创建数据库用户,只授予必要权限(SELECT / INSERT / UPDATE / DELETE)。
-- 创建专用用户(推荐) CREATE USER 'tblog'@'localhost' IDENTIFIED BY '强密码'; GRANT SELECT, INSERT, UPDATE, DELETE ON tblog.* TO 'tblog'@'localhost'; FLUSH PRIVILEGES;
DB_NAME
数据库名。安装时创建,需使用 utf8mb4 字符集以支持 emoji 和中文标点:
CREATE DATABASE tblog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
DB_PORT
数据库端口,默认 3306。如使用其他端口或 Unix socket,留空即可。
DB_PREFIX
表前缀,默认为 tblog_。用来避免表名冲突,也方便同库部署多套 TBlog。
修改前缀后需要同步修改 install.sql 中的表名,或者在 include/db.php 中查找替换:
# 全局替换 sed -i 's/tblog_/myblog_/g' install.sql include/*.php
🔒 安全建议
文件权限
# config.php 只允许 web 用户读 chmod 640 config.php chown root:www-data config.php # 整体目录权限 find /var/www/html -type d -exec chmod 755 {} \; find /var/www/html -type f -exec chmod 644 {} \;
敏感信息保护
如果你不想把数据库密码明文写在 config.php 里,可以用环境变量:
/etc/php/7.4/fpm/pool.d/www.conf
; PHP-FPM pool 配置 env[TBLOG_DB_PASS] = your_secret_password
config.php
<?php return [ 'DB_HOST' => getenv('TBLOG_DB_HOST') ?: 'localhost', 'DB_USER' => getenv('TBLOG_DB_USER') ?: 'tblog', 'DB_PASS' => getenv('TBLOG_DB_PASS') ?: '', 'DB_NAME' => getenv('TBLOG_DB_NAME') ?: 'tblog', 'DB_PORT' => 3306, 'DB_PREFIX' => 'tblog_', ];
🔍 配置错误排查
错误:数据库连接失败
- 检查
DB_HOST是否正确(本地用127.0.0.1或localhost) - 确认 MySQL 服务已启动:
systemctl status mysql - 用
mysql -u 用户名 -p 密码 -h 主机 数据库名手动测试
错误:找不到表
- 检查
DB_PREFIX是否与建表时一致 - 登录 MySQL 执行
SHOW TABLES;看实际表名
错误:500 Internal Server Error
- 查看 PHP 错误日志:
tail -f /var/log/php7.4-fpm.log - 查看 Nginx / Apache 错误日志
- 检查
config.php语法:php -l config.php