TBlog 文档

❓ 常见问题

安装、配置、使用 TBlog 过程中最常遇到的问题与解决方案。

🚀 安装

访问 install.php 提示 404

原因:Web 服务器没把请求路由到 PHP。

解决

数据库连接失败,提示 Access denied

表前缀已存在

如果之前装过 TBlog 没清干净,可以换一个新前缀,或者手动删除旧表:

-- 删除旧表(⚠️ 会清空所有数据)
DROP TABLE IF EXISTS tblog_posts, tblog_categories, tblog_comments, tblog_settings;

🔐 登录

忘记管理员密码

使用 密码重置工具,30 秒搞定。

登录提示「会话已过期」

后台登录页能打开但提交后 500 错误

查看 PHP 错误日志:

# Nginx + PHP-FPM
tail -f /var/log/php7.4-fpm.log /var/log/nginx/error.log

# Apache
tail -f /var/log/apache2/error.log

✏️ 编辑器

粘贴图片不显示

检查 uploads/ 目录权限:

mkdir -p uploads
chown -R www-data:www-data uploads
chmod 755 uploads

保存文章后样式丢了

TBlog 内置白名单 XSS 净化,不在白名单的标签会被剥掉。检查 HTML 源码是否包含合法标签。

🎨 主题

切换主题后没生效

自定义主题显示空白页

⚡ 性能

首页加载慢

/etc/php/7.4/fpm/php.ini
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000

数据库查询慢

检查是否缺少索引:

-- 查看慢查询
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 1;

-- 添加常用索引
CREATE INDEX idx_created_at ON tblog_posts(created_at);
CREATE INDEX idx_status ON tblog_posts(status);

🛡 安全

如何防止暴力破解登录?

如何启用 HTTPS?

使用 Let's Encrypt 一键签发免费证书:

# 安装 certbot
apt install certbot python3-certbot-nginx

# 自动配置 Nginx
certbot --nginx -d tblog.cn -d www.tblog.cn

# 自动续期已默认配置

🔄 迁移服务器

  1. 在旧服务器打包:mysqldump + tar
  2. 在旧服务器下载到本地
  3. 在新服务器安装 PHP + MySQL + Nginx
  4. 上传并恢复文件、导入数据库
  5. 修改 config.php(如果 DB 账号/密码变了)
  6. 修改 DNS 解析到新服务器 IP

📞 还没解决?

贡献文档

本仓库文档源码在 GitHub docs/ 目录,发现错误或有补充,直接提 PR 即可。