一个极简的个人博客系统:PHP+SQLite单文件搞定
前言
不想用WordPress?嫌Typecho太重?今天分享一个极简的个人博客系统,整个后端只有一个PHP文件,数据库用SQLite,无需安装任何依赖。
功能特性
- ✅ 文章发布、编辑、删除
- ✅ 分类管理
- ✅ Markdown支持
- ✅ 响应式设计
- ✅ 评论功能
- ✅ 管理后台
- ✅ 零依赖,单文件部署
安装方法
- 创建数据库目录:
mkdir data && chmod 777 data - 上传
blog.php到网站根目录 - 访问
blog.php自动初始化 - 默认管理员: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行,却包含了博客的核心功能。如果你想要更丰富的功能,可以在此基础上扩展。