应直接用 composer create-project 创建 Lumen 项目,避免使用 lumen new;因后者依赖全局安装的 laravel/lumen-installer,需手动将二进制路径加入 PATH,否则报 command not found;而 create-project 可绕过该问题,且必须指定稳定版本(如 "10.*")、启用 zip 扩展、手动复制 .env 并生成 APP_KEY,否则后续 artisan 命令或服务启动将静默失败。

直接用 composer create-project,别碰 lumen new —— 绝大多数失败不是因为命令写错,而是 lumen 命令根本不在 PATH 里。
为什么 lumen new 容易失败
它依赖全局安装的 laravel/lumen-installer,而这个二进制文件路径(比如 ~/.composer/vendor/bin 或 %APPDATA%\Composer\vendor\bin)必须手动加进系统 PATH。Ubuntu/WSL 用户常漏掉;Mac M1/M2 用户可能路径变成 ~/.local/bin;Windows 用户装完没重启终端,command not found 就来了。
绕过它最省事:
-
composer create-project --prefer-dist laravel/lumen blog(装最新稳定版,当前是 Lumen 10.x,要求 PHP ≥ 8.1) -
composer create-project --prefer-dist laravel/lumen blog "9.0.*"(指定 Lumen 9,需 PHP ≥ 8.2) -
composer create-project --prefer-dist laravel/lumen blog "5.8.*"(适配 PHP 7.4)
如果提示 zip extension not loaded,Ubuntu/Debian 上跑 sudo apt install php-zip;Mac 上用 brew install php@8.1(按版本选);Windows XAMPP 用户去 php.ini 解开 extension=zip。
.env 和 APP_KEY 必须手动补全
项目生成后只有 .env.example,composer create-project 不会自动复制或生成密钥。漏这步,后续所有 php artisan 命令都可能静默失败,或者访问时白屏、报 Undefined index: APP_KEY。
立刻执行:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
cp .env.example .env(Linux/macOS)或copy .env.example .env(Windows) -
php artisan key:generate(Lumen 5.7+ 支持;旧版用php -r "echo base64_encode(random_bytes(32)).PHP_EOL;"手动填入.env的APP_KEY) - 确认
.env中APP_DEBUG=true已开启(开发阶段),但上线前必须关掉
启动服务和 Redis 启用要改两处硬编码
Lumen 没有 Laravel 那种兜底逻辑:public/index.php 是唯一入口,php -S 的 -t 参数必须精准指向 public 目录,写成 -t ./public 或 -t public/ 在某些 PHP 版本下会返回 “No input file specified.”。
正确启动命令:
php -S localhost:8000 -t public
Redis 不是开箱即用。即使你配了 REDIS_HOST 等环境变量,仍会报 Class redis does not exist —— 因为服务提供者默认被注释了。
打开 bootstrap/app.php,取消这两行注释:
$app->register(Illuminate\Redis\RedisServiceProvider::class);$app->register(Illuminate\Cache\CacheServiceProvider::class);
注意:Redis 配置在 config/cache.php 和 config/queue.php,不在 config/database.php。
最常被跳过的其实是 .env 复制和 APP_KEY 生成 —— 这俩动作不报错,但会让整个应用运行在「未定义环境」里,后续所有加密、session、路由中间件都可能失效,问题现象分散且难定位。

















