一个极简的个人博客系统:PHP+SQLite单文件搞定

前言

不想用WordPress?嫌Typecho太重?今天分享一个极简的个人博客系统,整个后端只有一个PHP文件,数据库用SQLite,无需安装任何依赖。

功能特性

  • ✅ 文章发布、编辑、删除
  • ✅ 分类管理
  • ✅ Markdown支持
  • ✅ 响应式设计
  • ✅ 评论功能
  • ✅ 管理后台
  • ✅ 零依赖,单文件部署

安装方法

  1. 创建数据库目录:mkdir data && chmod 777 data
  2. 上传 blog.php 到网站根目录
  3. 访问 blog.php 自动初始化
  4. 默认管理员:admin / admin123

核心代码

<?php
// 极简博客系统 - 单文件版
// 数据库:SQLite
// 作者:龙某人

session_start();

define('DB_FILE', __DIR__ . '/data/blog.db');
define('ADMIN_USER', 'admin');
define('ADMIN_PASS', password_hash('admin123', PASSWORD_DEFAULT));

// 数据库初始化
function db_init() {
    $db = new PDO('sqlite:' . DB_FILE);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $db->exec("CREATE TABLE IF NOT EXISTS posts (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        title TEXT NOT NULL,
        content TEXT NOT NULL,
        category TEXT DEFAULT '',
        created_at DATETIME DEFAULT CURRENT_TIMESTAMP
    )");

    $db->exec("CREATE TABLE IF NOT EXISTS comments (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        post_id INTEGER,
        author TEXT,
        content TEXT,
        created_at DATETIME DEFAULT CURRENT_TIMESTAMP
    )");

    return $db;
}

// 简单路由
$action = $_GET['action'] ?? 'home';
// ... 路由处理逻辑
?>

部署要求

  • PHP 7.0+
  • SQLite3扩展
  • data目录可写

下载地址

源码已开源在GitHub,欢迎Star和Fork。

总结

这个博客系统适合:

  • 个人笔记和记录
  • 小型项目文档
  • 学习PHP开发
  • 极简主义爱好者

代码不到500行,却包含了博客的核心功能。如果你想要更丰富的功能,可以在此基础上扩展。