推荐用 laravel/installer 初始化项目,因其默认使用 laravel lts 版(如 10.x),兼容性更广,且自带 git 初始化;而 composer create-project 易因版本不匹配导致类找不到等问题。

用 laravel/installer 初始化项目比 composer create-project 更稳
新装 Laravel 博客,别直接敲 composer create-project laravel/laravel blog——它拉的是最新稳定版,但很多开源博客包(比如 spatie/laravel-tags 或 cviebrock/eloquent-sluggable)对 Laravel 主版本有硬性要求,稍不注意就报 Class not found 或 Target class does not exist。
推荐先装官方安装器:composer global require laravel/installer,再运行 laravel new blog --git。它默认用当前 LTS 版(如 10.x),兼容性更广,且自带 Git 初始化,省得后续补提交历史。
- 如果已用
create-project装了,检查composer.json里"laravel/framework"的版本约束,锁死到"^10.0"再composer update -
--git参数不是可选彩蛋,是真有用:后续集成 CI/CD 或部署脚本时,能立刻识别工作区状态 - 别急着
php artisan serve,先php -v和php -m | grep pdo确认 PDO 扩展已启用,否则迁移直接卡在SQLSTATE[HY000] [2002]
选 orchid/platform 还是手撸后台?看内容编辑频率
个人博客的后台,不是“有没有”,而是“谁来维护”。如果你每月只发 1–2 篇,还带图、分类、草稿、SEO 字段,硬写 CRUD 是时间黑洞;但若只是偶尔更新,又不想被第三方包的路由/中间件劫持,反而更麻烦。
orchid/platform 是个务实选择:它不替换 Eloquent,所有模型照常写,只是把后台页面生成逻辑抽成配置驱动。装完跑 php artisan orchid:install,它自动注册路由、发布资源、建管理员表,比 adminlte/laravel-admin 少一堆 PHP 模板要改。
- 它默认用
Orchid\Screen\Layouts\Table渲染列表,但字段排序、搜索过滤得手动在QueryFilters里加,不然点“标题搜索”直接 404 - 上传图片别直接存 public,用
spatie/laravel-medialibrary绑定到Post模型,否则换域名或上 CDN 时路径全崩 - 如果坚持手写后台,至少把
App\Http\Controllers\Admin\PostController@store里的验证逻辑拆进App\Http\Requests\StorePostRequest,不然以后加字段要改三处
spatie/laravel-sitemap 生成失败?先查 robots.txt 和 APP_URL
博客上线后搜不到,第一反应不是 SEO 工具没配好,而是 php artisan sitemap:generate 根本没跑成功——常见错误是 APP_URL 配成 http://localhost,生成的 XML 里所有链接都是本地地址,搜索引擎直接忽略。
千博购物系统.Net能够适合不同类型商品,为您提供了一个完整的在线开店解决方案。千博购物系统.Net除了拥有一般网上商店系统所具有的所有功能,还拥有着其它网店系统没有的许多超强功能。千博购物系统.Net适合中小企业和个人快速构建个性化的网上商店。强劲、安全、稳定、易用、免费是它的主要特性。系统由C#及Access/MS SQL开发,是B/S(浏览器/服务器)结构Asp.Net程序。多种独创的技术使
另一个坑是 robots.txt 里写了 Disallow: /sitemap.xml,自己把自己挡在外面。这个文件 Laravel 不自动生成,得手动放 public/robots.txt,内容就两行:User-agent: * 和 Allow: /sitemap.xml。
-
spatie/laravel-sitemap默认只扫GET路由,带参数的路由(比如post/{slug})必须显式调用SitemapGenerator::create($url)->getSitemap()并传入完整 URL 列表 - 生成命令建议加
--section=posts分片,避免单次请求超时;大博客(>500 篇)再配合php artisan schedule:run定时更新 - 别信 “生成完自动提交百度”,百度站长平台要手动粘贴 XML 地址,且首次提交后 48 小时才出收录数据
部署前必做三件事:.env 敏感项清理、storage:link、config:clear
本地跑得好,一上服务器就白屏或 500,八成是 .env 里混进了测试数据库密码、Mailgun 密钥,或者 storage/app 权限没开,Laravel 写不了日志和缓存。
最省事的检查方式:SSH 进服务器,执行 php artisan tinker,输入 config('app.name') 看是否返回预期值。如果报错或返回空,说明 config:cache 没生效,或者 .env 格式有隐藏字符(比如 Windows 换行符)。
-
php artisan storage:link必须在部署目录里执行,不能在本地跑完再传上去——符号链接指向的是绝对路径,传过去就断 -
php artisan config:clear和php artisan cache:clear要一起跑,否则旧缓存可能覆盖新配置 - 用 Nginx 时,确认
root指向的是/var/www/blog/public,不是项目根目录,否则.env文件可能被直接下载
环境变量和符号链接这种事,第一次部署踩过一次,后面每次都会下意识多看一眼——但恰恰是这些“一眼看过”的地方,最容易漏掉。









