Mac 上安装 Laravel 5.8 完全可行,但必须手动锁定版本、换国内镜像、补全 .env 并生成密钥,否则 php artisan serve 会报 Class App\Http\Kernel does not exist 这类致命错误。

直接说结论:Mac 上安装 Laravel 5.8 完全可行,但必须手动锁定版本、换国内镜像、补全 .env 并生成密钥,否则 php artisan serve 会报 Class App\Http\Kernel does not exist 这类致命错误。
确认 PHP 和 Composer 已就位
Laravel 5.8 要求 PHP ≥ 7.1.3(不含 7.4.0),且必须启用 OpenSSL、PDO、Mbstring、Tokenizer 扩展。运行以下命令验证:
php -v php -m | grep -E 'openssl|pdo|mbstring|tokenizer'
若缺失扩展,用 Homebrew 安装 PHP(推荐):
brew install php@8.1 brew link --force php@8.1
再装 Composer(全局可用):
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer sudo chmod +x /usr/local/bin/composer
必须用镜像 + 版本锁安装 Laravel 5.8
默认走 packagist.org 会超时或卡死,且不指定版本会装最新版(如 Laravel 11),与 5.8 文档/教程完全不兼容。正确做法是:
- 全局配置国内镜像(一劳永逸):
composer config -g repo.packagist composer https://packagist.phpcomposer.com - 创建项目时显式指定 5.8 分支:
composer create-project --prefer-dist laravel/laravel blog "5.8.*" - 不要用
laravel new命令——它默认拉最新版,5.8 早已不在其默认模板中
执行后若看到 Created project in blog 和 Package manifest generated successfully 才算真正完成依赖安装。
启动前必做的三件事
刚解压/安装完的 Laravel 5.8 项目不能直接 php artisan serve,否则大概率报错。进入项目目录后必须依次执行:
- 复制环境文件:
cp .env.example .env(.env缺失是Kernel does not exist的主因) - 生成应用密钥:
php artisan key:generate(否则App Key为空,中间件和加密全崩) - 确保
storage和bootstrap/cache可写:chmod -R 775 storage bootstrap/cache
做完这三步再运行:php artisan serve,浏览器打开 http://127.0.0.1:8000 才能看到 Laravel 5.8 欢迎页。
常见报错与绕过点
即使流程正确,Mac 用户仍可能遇到:
-
file_get_contents(/path/to/.env): failed to open stream→ 检查是否漏了cp .env.example .env,注意.env是隐藏文件,ls -a才能看见 -
ReflectionException Class App\Http\Kernel does not exist→ 90% 是.env不存在或APP_KEY为空,重跑key:generate -
Mcrypt PHP extension required→ PHP 7.2+ 已废弃 mcrypt,Laravel 5.8 实际不依赖它;若报此错,说明你装的是带 mcrypt 强依赖的旧扩展包,删掉重装即可 -
php artisan serve启动后页面空白 → 检查storage/logs/laravel.log,常因权限或APP_DEBUG=false导致静默失败
最易被忽略的是:Laravel 5.8 的 artisan 命令依赖 vendor/autoload.php,而这个文件只有在 composer install 成功后才生成——所以任何“跳过依赖安装直接跑 serve”的想法都会失败。


















