Files
gouki 3cec4c5e18
CI / PHPUnit (PHP 8.3) (push) Failing after 4s
CI / PHPUnit (PHP 8.2) (push) Failing after 1m9s
CI / Deploy (manual gate) (push) Skipped
wip: article AI polish, category SEO fields, cover generator, membership plan seeder
2026-09-07 18:48:37 +00:00

4.0 KiB
Raw Permalink Blame History

安装(本地开发)

把 LaraBlog 跑起来:前台、Filament 后台、演示数据。从 sablog 迁站请先看 import.md不要先灌演示数据。上线见 deploy.md

环境

要求
PHP 8.2+composer.json
扩展 mbstringopensslpdotokenizerxmlctypejsonfileinfogd(封面/图片)、zip
Composer 2.x
数据库 开发可用 SQLite;也可用 MySQL / MariaDB
可选 Redis(队列/缓存);Node.js 仅在改前端资源时需要
可选 pcntl + posix(本机跑 workerman:ai;没有就用 queue:ai

macOS 可用 Laravel Herd / Valet,指向仓库的 public/。也可用 php artisan serve

1. 代码与依赖

cd /path/to/larablog
composer install
cp .env.example .env
php artisan key:generate

2. 配置 .env

最少改这些:

APP_NAME=LaraBlog
APP_ENV=local
APP_DEBUG=true
APP_URL=http://larablog.test          # 必须和浏览器访问的 origin 一致
APP_LOCALE=zh_CN

# 开发默认 SQLite(文件需存在)
DB_CONNECTION=sqlite
# DB_DATABASE=/绝对路径/database/database.sqlite

# 开发附件落本地,不必配 S3
ATTACHMENTS_DRIVER=local

QUEUE_CONNECTION=database
CACHE_STORE=database
SESSION_DRIVER=database

# 本机没有真实 LLM 时用 stub,避免后台点「AI 润色」去打外网
AI_PROVIDER=stub

SQLite 文件:

mkdir -p database
touch database/database.sqlite

改用 MySQL 时:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=larablog
DB_USERNAME=root
DB_PASSWORD=

3. 初始化

php artisan migrate
php artisan db:seed
php artisan plugins:sync
php artisan migrate            # 插件表(支付/会员等)随 discover 加载,再跑一遍即可
php artisan themes:publish

db:seed 会:

  • 写入 AI 设置(来自 .envAI_*
  • 启用 larablog/ai-comment-moderation,并尝试启用 payment / membership
  • 创建演示分类、文章、友情链接
  • 创建后台账号

4. 启动

Herd / nginx 站点根目录设为 public/,打开 APP_URL

内置服务器:

php artisan serve

本地要排空队列(含 AI)可以另开终端:

php artisan queue:work --tries=3
# 或只处理 AI 队列(不会启动 Workerman):
php artisan queue:ai

改 Filament/Vite 资源时才需要 npm install && npm run dev。主题 CSS 走 php artisan themes:publish 拷到 public/themes/

5. 入口与账号

入口 地址
前台 //show-1.shtml/login.shtml
后台 /admin
API /api/v1/meta/api/v1/articles
OpenAPI /docs/api/openapi.yaml

演示管理员(DemoBlogSeeder):

  • 邮箱:admin@larablog.test
  • 密码:password

登录后请立刻改密码。不要把这组账号用在公网。

6. 插件(可选)

php artisan plugins:sync
# 后台 → 插件 → 启用;或:
php artisan plugins:sync --enable=larablog/payment,larablog/membership
php artisan migrate

依赖顺序:先 larablog/payment,再 larablog/paid-content / larablog/membership。说明见后台卡片「使用说明」,以及 docs/plugins.md

7. 自检

php artisan test
php artisan route:list --path=shtml

浏览器打开首页、一篇 .shtml 文章、/admin。本地附件地址形如 /attachments-local/...(由 Laravel 路由提供,不必 storage:link)。

常见问题

500 / 空白页
storage/bootstrap/cache/ 对 PHP 进程可写;APP_KEY 已生成;APP_DEBUG=truestorage/logs/laravel.log

后台样式丢失
执行 php artisan filament:upgradephp artisan themes:publish

点了 AI 润色没反应
AI_PROVIDER=stub 时也要有队列消费者;QUEUE_CONNECTION=sync 会在请求内执行(仅调试)。生产见 deploy.md

准备导入旧站
不要用这份「演示种子」当生产数据。空库 migrate 后直接走 import.md