Laravel中如何安装与配置环境_Laravel新手环境搭建步骤详解【指南】

10次阅读

laravel 10+ 要求 php ≥ 8.1 并启用 mbstring、openssl、pdoTokenizer、xml、ctype、json、intl 扩展;Mac 用户易缺 intl,windows 用户常缺 opcache;需检查版本与扩展、配置国内 composer 镜像、正确设置 .env 中 APP_KEY、DB_DATABASE、APP_URL,并清缓存后访问 http://localhost:8000 验证。

Laravel中如何安装与配置环境_Laravel新手环境搭建步骤详解【指南】

确认系统是否满足 Laravel 运行要求

Laravel 10+ 要求 PHP ≥ 8.1,且必须启用 mbstringopensslpdotokenizerxmlctypejson 这些扩展。Mac 用户用 Homebrew 安装 PHP 后常漏掉 intl 扩展,导致 composer create-project 卡在依赖解析阶段;windows 用户用 XAMPP/WAMP 时默认不带 php-opcache,后续运行 php artisan serve 会慢得明显。

  • 运行 php -v 检查版本,低于 8.1 就别硬上 Laravel 10
  • 执行 php -m | grep -E 'mbstring|openssl|pdo|tokenizer|xml|ctype|json|intl'linux/macos)或 php -m(Windows)逐个核对
  • 若缺 intlubuntu/debian 执行 sudo apt install php-intl;macOS Homebrew 用户执行 brew install php@8.2(自动带全扩展)

用 Composer 创建 Laravel 项目时绕过常见卡点

composer create-project laravel/laravel 命令失败,90% 是因为 Composer 镜像源未切国内或内存限制不足。Laravel 10 的 vendor 目录下载量超 150MB,gitHub 原源在部分地区超时或被重置连接。

  • 先执行 composer config -g repo.packagist composer https://packagist.phpcomposer.com(旧镜像)或更推荐的 composer config -g repo.packagist composer https://packagist.org + 配置国内 DNS(如 114.114.114.114)
  • 临时提高内存:运行 COMPOSER_MEMORY_LIMIT=-1 composer create-project laravel/laravel blog
  • 如果提示 zlib_decode(): data Error,说明压缩包损坏,删掉 ~/.composer/cache 后重试

配置 .env 文件前必须改的三项

新项目跑起来前,.env 不只是改数据库密码那么简单。APP_KEYDB_DATABASEAPP_URL 这三项填错,会导致路由 404、登录态失效、邮件发不出等隐性问题。

  • APP_KEY 必须用 php artisan key:generate 生成,手输或复制旧项目的值会导致加密 session 失效
  • DB_DATABASE 填的是数据库名,不是用户名;mysql 默认 root 用户无密码,但 Laravel 默认配置里 DB_PASSword= 是空字符串,不能留空或写 NULL
  • APP_URL 影响 csrf token 和邮箱链接生成,开发时设为 http://localhost:8000,别用 127.0.0.1 —— chrome 对 localhost 和 IP 视为不同源,跨域请求会失败

启动开发服务器并验证是否真跑通

php artisan serve 成功输出 “Server started” 并不等于 Laravel 已就绪。浏览器打开后空白或报 Target class [AppHttpControllersHomeController] does not exist 很常见,本质是路由缓存或控制器命名空间没对齐。

  • 首次启动前先清缓存:php artisan config:clear && php artisan cache:clear && php artisan view:clear
  • 访问 http://localhost:8000 出现 Laravel 欢迎页才算基础环境 OK;若报 500 错误,立刻看 storage/logs/laravel.log 最末几行,90% 是 .env 中某项格式错误(比如多了一个空格或用了中文引号)
  • 如果页面加载极慢(>10s),检查是否启用了 Xdebug —— Laravel 开发时建议关闭,或至少把 xdebug.mode=off 加入 php.ini

真正麻烦的是混合部署场景:比如用 Valet 但本地又装了 apache,端口冲突不报错只静默失败;或者 docker 启动了 MySQL 容器但 Laravel 还连着宿主机的 3306。这类问题不会出现在安装指南里,只能靠 netstat -tuln | grep :8000php artisan tinker --execute="echo env('DB_HOST')" 一层层剥。

text=ZqhQzanResources