最稳启动方式是composer create-project october/october mysite --no-dev -o,需配阿里云镜像、php≥8.0.2,安装后必须执行php artisan october:install初始化,插件依赖须在插件目录内单独安装并运行php artisan october:up重载。

直接用 composer create-project 是最稳的启动方式,别 clone 后再 composer install —— 后者容易漏掉自动执行的 post-autoload-dump 脚本,导致插件加载失败。
用 create-project 一步拉起完整 October CMS
命令本身不复杂,但几个参数和时机很关键:
- 运行
composer create-project october/october mysite --no-dev -o,--no-dev能跳过测试类等无关包,-o(optimize-autoloader)提升后续加载速度 - 国内务必提前配好镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,否则卡在 guzzlehttp 或 laravel/framework 下载环节是常态 - PHP 版本必须 ≥ 8.0.2(October v3.7+),低于这个版本会报
Root composer.json requires php ^8.0.2错误,不是警告,是中断 - 如果提示
phpunit/phpunit-mock-objects弃用警告,忽略即可;它不影响运行,October 不依赖它做核心逻辑
安装完必须立刻跑 php artisan october:install
很多人以为 create-project 就等于装完了,其实只是代码就位。真正的初始化靠这个命令驱动:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 它会创建
.env、生成密钥、建数据库表、写入初始配置 —— 这些都不在composer install流程里 - 遇到
file_get_contents(): php_network_getaddresses类错误,大概率是没配好.env中的APP_URL,比如留空或写成http://localhost却没配 hosts,改成可解析的域名或http://127.0.0.1即可 - 若选 MySQL 但提示权限不足,确认用户有
CREATE DATABASE权限,不能只给已有库的SELECT
插件依赖不能往根 composer.json 里硬塞
想给某个插件加 GuzzleHttp\Client?别去项目根目录下 composer require guzzlehttp/guzzle —— 这样装进去的类,插件运行时根本找不到。
- 必须进插件目录(如
plugins/author/pluginname/),再执行composer require guzzlehttp/guzzle - 改完依赖后,要手动触发重载:
php artisan october:up,否则 October 不会重新扫描该插件的vendor/autoload.php - 避免插件里 require 和核心冲突的包(比如
symfony/consolev5 和 v6 并存),October v3 的 PSR-4 加载器对命名空间冲突非常敏感,报错常是Class not found而非版本冲突提示
真正麻烦的从来不是“怎么装”,而是“装完谁负责 autoload”。October 的插件加载机制是按目录隔离的,根目录的 vendor 和插件里的 vendor 互不感知 —— 这个边界一旦模糊,后面 debug 会花掉你远超安装时间的精力。










