登录
首页 >  文章 >  php教程

Windows11下Laravel环境部署教程

时间:2025-08-01 21:00:50 455浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《Windows 11部署Laravel环境详细教程》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

在Windows 11上运行Laravel项目,1. 可使用XAMPP快速搭建环境,包括安装Apache、MySQL、PHP,配置环境变量,安装Composer,并通过composer create-project创建项目,配置.env文件并运行php artisan serve启动服务;2. 或使用WSL2搭建更接近生产环境的Linux开发环境,需启用WSL2、安装Ubuntu、配置PHP、Composer、Nginx、MySQL,创建或克隆项目,配置Nginx站点并设置hosts文件,运行迁移并访问项目;3. 配置PHP和Composer需正确设置环境变量,下载PHP并解压,修改php.ini启用扩展,将PHP路径添加至系统Path,安装Composer并测试;4. 常见问题包括文件权限问题,需修改目录权限为完全控制或使用chmod/chown;端口冲突可通过指定不同端口解决;Composer内存不足需修改php.ini中memory_limit;.env文件需正确复制并配置数据库信息,生成应用密钥;Node.js问题需安装Node.js及NPM依赖;Git行尾符问题可通过git配置或dos2unix工具解决。

如何用Windows 11运行Laravel项目 Laravel框架PHP环境部署步骤

在Windows 11上运行Laravel项目,核心在于搭建PHP运行环境、安装Composer管理依赖,并配置一个本地Web服务器。最直接的路径通常是利用集成开发环境如XAMPP或WAMPP快速部署,或者,如果你追求更接近生产环境的体验,WSL2(Windows Subsystem for Linux 2)会是更优的选择,它能提供一个近乎原生的Linux开发环境。

如何用Windows 11运行Laravel项目 Laravel框架PHP环境部署步骤

解决方案

要让Laravel在你的Windows 11机器上跑起来,我们通常有几种方法。我个人比较推荐的,尤其对于初学者,是先从集成环境入手,因为它省心。但如果你想更深入一点,或者未来考虑部署到Linux服务器,WSL2绝对值得一试。

方法一:使用XAMPP(或WAMPP)快速搭建环境

如何用Windows 11运行Laravel项目 Laravel框架PHP环境部署步骤

这是很多新手入门的选择,因为它把Apache、MySQL、PHP和Perl打包在一起,一键安装。

  1. 下载并安装XAMPP: 访问Apache Friends官网下载最新版的XAMPP。安装过程很简单,一路“下一步”就行。安装路径建议保持默认,或者选择一个你容易找到的盘符,比如C:\xampp
  2. 启动Apache和MySQL: 安装完成后,打开XAMPP Control Panel,点击Apache和MySQL旁边的“Start”按钮,确保它们都变成绿色,表示运行正常。
  3. 配置PHP环境变量(可选但推荐): 这一步是为了让你能在任何地方直接运行php命令。
    • 找到你的XAMPP安装目录下的php文件夹,比如C:\xampp\php
    • 右键“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。
    • 在“系统变量”中找到Path变量,双击编辑。
    • 点击“新建”,然后粘贴你的PHP路径(例如C:\xampp\php),点击确定保存。
    • 打开一个新的命令提示符(CMD)或PowerShell窗口,输入php -v,如果能显示PHP版本信息,说明配置成功。
  4. 安装Composer: Composer是PHP的依赖管理工具,Laravel项目离不开它。
    • 访问Composer官网下载Composer-Setup.exe
    • 运行安装程序,它会自动检测你的PHP路径。如果之前PHP环境变量设置好了,它会直接找到。如果没找到,你需要手动指定PHP的php.exe文件路径。
    • 安装完成后,打开新的CMD或PowerShell,输入composer -v,看到版本信息就对了。
  5. 创建Laravel项目:
    • 打开CMD或PowerShell,导航到你希望存放项目的目录,比如C:\xampp\htdocs(这是XAMPP默认的Web根目录),或者你自定义的开发目录。
    • 运行命令:composer create-project laravel/laravel your-project-name。将your-project-name替换成你项目的名字。这个过程可能需要一些时间,因为它会下载所有Laravel所需的依赖。
  6. 配置.env文件: 项目创建完成后,进入项目目录,复制.env.example文件并重命名为.env。这是Laravel的环境配置文件,你需要在这里配置数据库连接信息等。
    • DB_CONNECTION=mysql
    • DB_HOST=127.0.0.1
    • DB_PORT=3306
    • DB_DATABASE=your_database_name (在phpMyAdmin或MySQL客户端中创建这个数据库)
    • DB_USERNAME=root (XAMPP默认用户)
    • DB_PASSWORD= (XAMPP默认密码为空)
  7. 生成应用密钥: 在项目根目录运行php artisan key:generate
  8. 运行项目: 在项目根目录运行php artisan serve。这会启动Laravel自带的开发服务器,通常在http://127.0.0.1:8000。打开浏览器访问这个地址,你应该就能看到Laravel的欢迎页面了。

方法二:使用WSL2(Windows Subsystem for Linux 2)

如何用Windows 11运行Laravel项目 Laravel框架PHP环境部署步骤

如果你对Linux环境更熟悉,或者希望开发环境更接近生产环境,WSL2是绝佳的选择。它允许你在Windows上运行一个完整的Linux内核,性能非常接近原生。

  1. 启用WSL2:

    • 打开PowerShell(以管理员身份运行),运行wsl --install。这会安装WSL和默认的Ubuntu发行版。
    • 重启电脑。
    • 第一次启动Ubuntu,你需要设置用户名和密码。
  2. 在WSL2中安装PHP、Composer、Nginx/Apache和MySQL:

    • 打开Ubuntu终端。
    • 更新包列表:sudo apt update && sudo apt upgrade
    • 安装PHP及其常用扩展:sudo apt install php-cli php-mbstring php-xml php-zip php-mysql php-fpm unzip composer
    • 安装Nginx(或Apache):sudo apt install nginx
    • 安装MySQL服务器:sudo apt install mysql-server
    • 配置MySQL安全设置:sudo mysql_secure_installation
  3. 克隆或创建Laravel项目:

    • 在WSL2中导航到你希望存放项目的目录,比如cd /var/www/html
    • 使用Git克隆你的项目:git clone your-repo-url,或者使用Composer创建新项目:composer create-project laravel/laravel your-project-name
  4. 配置Web服务器(Nginx为例):

    • 为你的Laravel项目创建一个Nginx站点配置文件:sudo nano /etc/nginx/sites-available/your-project-name.conf

    • 粘贴以下内容(根据实际路径修改rootserver_name):

      server {
          listen 80;
          server_name your-project-name.test; # 或你的域名/IP
          root /var/www/html/your-project-name/public; # 项目的public目录
      
          add_header X-Frame-Options "SAMEORIGIN";
          add_header X-Content-Type-Options "nosniff";
      
          index index.php index.html index.htm;
      
          charset utf-8;
      
          location / {
              try_files $uri $uri/ /index.php?$query_string;
          }
      
          location ~ \.php$ {
              fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # 根据你的PHP版本修改
              fastcgi_index index.php;
              fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
              include fastcgi_params;
          }
      
          location ~ /\.(?!well-known).* {
              deny all;
          }
      }
    • 创建软链接启用站点:sudo ln -s /etc/nginx/sites-available/your-project-name.conf /etc/nginx/sites-enabled/

    • 删除默认站点:sudo rm /etc/nginx/sites-enabled/default

    • 测试Nginx配置:sudo nginx -t

    • 重启Nginx服务:sudo systemctl restart nginx

  5. 配置.env和运行项目:

    • 在项目根目录复制.env.example.env,配置数据库等信息。
    • 生成应用密钥:php artisan key:generate
    • 运行迁移:php artisan migrate
  6. 访问项目:

    • 如果你配置了server_name your-project-name.test,你可能需要在Windows的hosts文件中添加一行:127.0.0.1 your-project-name.test
    • 或者直接访问WSL2的IP地址。在WSL2终端运行ip addr show eth0,找到inet后面的IP地址,然后在Windows浏览器中访问该IP。

为什么我应该在Windows 11上使用WSL2来运行Laravel项目?

说实话,我个人现在几乎都倾向于在WSL2里搞开发了。它真的带来了很多便利,尤其是在处理一些特定场景的时候。

首先,环境一致性是最大的优势。Laravel项目最终通常会部署到Linux服务器上,WSL2提供了一个非常接近生产环境的Linux开发体验。这意味着你在开发过程中遇到的问题,比如文件权限、路径分隔符、某些特定扩展的兼容性,都更可能在本地重现,而不是等到部署后才发现。这大大减少了“在我的机器上能跑”的尴尬。

其次,性能提升。相比于传统的虚拟机或者直接在Windows上运行PHP,WSL2在文件I/O方面的性能表现要好得多,尤其是在处理大量文件操作的Composer安装或npm构建时,你会明显感觉到速度的提升。对于Laravel这种依赖文件较多的框架来说,这体验上的提升是实实在在的。

再来,工具链的无缝衔接。很多开源工具和库,比如Docker、Git、Node.js,在Linux环境下有着更原生的支持和更丰富的生态。在WSL2里,你可以直接使用这些工具的Linux版本,不用再担心Windows下各种路径问题或者兼容性补丁。比如,使用Docker Desktop for Windows时,它能与WSL2深度集成,让你的容器化开发流程更加顺畅。

当然,它也有一些学习曲线,比如你需要熟悉一些基本的Linux命令,但这些投入绝对是值得的。我经常开玩笑说,WSL2就像给Windows装了个“Linux加速器”,让你在Windows的舒适区里,享受Linux的开发效率。

在Windows 11上配置PHP和Composer的正确姿势是什么?

配置PHP和Composer,说白了就是让你的系统知道phpcomposer这两个命令在哪里。很多人刚开始会在这里遇到点小麻烦,主要是环境变量没设对,或者版本搞混了。

最“正确”的姿势,其实取决于你的需求。如果你用XAMPP或WAMPP,它们安装时通常会帮你把PHP的环境变量设置好。但如果没设好,或者你是手动下载PHP,那手动添加php.exe所在的目录到系统Path变量就成了关键一步。

手动设置PHP环境变量的步骤:

  1. 下载PHP: 从PHP官网下载对应的Windows版本(通常是Thread Safe版本,如果你用Apache)。解压到一个你喜欢的目录,比如C:\php
  2. 配置php.ini 在PHP解压目录里,你会看到php.ini-developmentphp.ini-production。复制其中一个(通常是php.ini-development)并重命名为php.ini
    • 打开php.ini,找到extension_dir,取消注释并修改为你的ext目录路径,例如extension_dir = "C:\php\ext"
    • 启用一些常用扩展,比如extension=curlextension=mbstringextension=pdo_mysqlextension=gd等,把前面的分号去掉就行。
    • 调整memory_limit(比如memory_limit = 512M),防止Composer安装大项目时内存不足。
  3. 添加到Path变量: 就像前面XAMPP那部分讲的,把C:\php(或你实际的PHP安装路径)添加到系统环境变量的Path中。

Composer的安装姿势:

Composer的安装就简单多了,直接下载Composer-Setup.exe运行,它会引导你完成安装,并自动帮你设置好环境变量。它会自动找到你系统中的PHP可执行文件。如果它没找到,那多半是你PHP的环境变量没设对,或者你电脑里有多个PHP版本,它选错了。

小贴士: 每次修改完环境变量,一定要打开一个新的CMD或PowerShell窗口来测试。旧窗口的环境变量是不会自动刷新的。输入php -vcomposer -v,确保它们都能正常显示版本信息,这就算大功告成了。如果遇到问题,先检查Path变量,再看看是不是有多个PHP版本在“打架”。

Laravel项目在Windows环境下常见的运行问题及解决方案?

在Windows上折腾Laravel,我遇到过不少“小坑”,有些是Windows特有的,有些则是新手常犯的。

  1. 文件权限问题:
    • 问题表现: storagebootstrap/cache目录写入失败,导致日志无法生成、缓存无法写入,页面报错500。
    • 解决方案: 这是最常见的。Windows的文件权限管理和Linux不同。通常,你需要给你的项目目录(特别是storagebootstrap/cache)赋予当前用户完全控制的权限。右键项目文件夹 -> 属性 -> 安全 -> 编辑,给你的用户添加完全控制权限。或者,如果你在WSL2里,确保你的Linux用户有这些目录的写入权限,通常sudo chmod -R 777 storage bootstrap/cache可以临时解决,但更推荐sudo chown -R $USER:$USER storage bootstrap/cache
  2. 端口冲突(php artisan serve):
    • 问题表现: 运行php artisan serve时提示端口8000被占用。
    • 解决方案: 可能是其他程序占用了8000端口,比如另一个Laravel项目,或者某些开发工具。你可以指定一个不同的端口:php artisan serve --port=8001
  3. Composer内存不足(memory_limit):
    • 问题表现: 运行composer installcomposer update时报错,提示内存不足。
    • 解决方案: PHP默认的memory_limit可能不够大。你需要编辑php.ini文件,找到memory_limit这一行,将其值调大,比如memory_limit = 512M1024M。改完记得重启XAMPP的Apache服务,或者如果你是手动安装PHP,确保你修改的是当前使用的php.ini
  4. .env配置错误或未生成:
    • 问题表现: 数据库连接失败、应用密钥未生成导致加密解密问题。
    • 解决方案: 确保你已经从.env.example复制并创建了.env文件。仔细检查.env文件中数据库连接信息(DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD)是否与你的数据库配置一致。然后运行php artisan key:generate生成应用密钥。
  5. Node.js/NPM相关问题:
    • 问题表现: 如果你的Laravel项目使用了Laravel Mix或Vite进行前端资源编译,你可能需要安装Node.js和NPM。
    • 解决方案: 访问Node.js官网下载并安装LTS版本。安装完成后,在项目根目录运行npm install安装前端依赖,然后运行npm run dev(或npm run build)编译前端资源。这块跟PHP环境是独立的,但对于现代Laravel项目来说,几乎是标配。
  6. Git行尾符转换问题:
    • 问题表现: 在Windows上克隆的Git项目,在WSL2里运行时可能会因为行尾符(CRLF vs LF)问题导致脚本执行异常。
    • 解决方案: 在Git配置中设置git config --global core.autocrlf input,或者在克隆项目时注意设置。如果已经克隆了,可以在WSL2里用dos2unix工具转换文件。

这些问题,说白了就是环境配置、依赖管理和一些跨系统兼容性的小细节。多折腾几次,你就会发现它们其实都有固定的套路去解决。

终于介绍完啦!小伙伴们,这篇关于《Windows11下Laravel环境部署教程》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>