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

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

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

如果你对Linux环境更熟悉,或者希望开发环境更接近生产环境,WSL2是绝佳的选择。它允许你在Windows上运行一个完整的Linux内核,性能非常接近原生。
启用WSL2:
- 打开PowerShell(以管理员身份运行),运行
wsl --install
。这会安装WSL和默认的Ubuntu发行版。 - 重启电脑。
- 第一次启动Ubuntu,你需要设置用户名和密码。
- 打开PowerShell(以管理员身份运行),运行
在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
克隆或创建Laravel项目:
- 在WSL2中导航到你希望存放项目的目录,比如
cd /var/www/html
。 - 使用Git克隆你的项目:
git clone your-repo-url
,或者使用Composer创建新项目:composer create-project laravel/laravel your-project-name
。
- 在WSL2中导航到你希望存放项目的目录,比如
配置Web服务器(Nginx为例):
为你的Laravel项目创建一个Nginx站点配置文件:
sudo nano /etc/nginx/sites-available/your-project-name.conf
粘贴以下内容(根据实际路径修改
root
和server_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
配置
.env
和运行项目:- 在项目根目录复制
.env.example
为.env
,配置数据库等信息。 - 生成应用密钥:
php artisan key:generate
- 运行迁移:
php artisan migrate
- 在项目根目录复制
访问项目:
- 如果你配置了
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,说白了就是让你的系统知道php
和composer
这两个命令在哪里。很多人刚开始会在这里遇到点小麻烦,主要是环境变量没设对,或者版本搞混了。
最“正确”的姿势,其实取决于你的需求。如果你用XAMPP或WAMPP,它们安装时通常会帮你把PHP的环境变量设置好。但如果没设好,或者你是手动下载PHP,那手动添加php.exe
所在的目录到系统Path
变量就成了关键一步。
手动设置PHP环境变量的步骤:
- 下载PHP: 从PHP官网下载对应的Windows版本(通常是Thread Safe版本,如果你用Apache)。解压到一个你喜欢的目录,比如
C:\php
。 - 配置
php.ini
: 在PHP解压目录里,你会看到php.ini-development
和php.ini-production
。复制其中一个(通常是php.ini-development
)并重命名为php.ini
。- 打开
php.ini
,找到extension_dir
,取消注释并修改为你的ext
目录路径,例如extension_dir = "C:\php\ext"
。 - 启用一些常用扩展,比如
extension=curl
、extension=mbstring
、extension=pdo_mysql
、extension=gd
等,把前面的分号去掉就行。 - 调整
memory_limit
(比如memory_limit = 512M
),防止Composer安装大项目时内存不足。
- 打开
- 添加到Path变量: 就像前面XAMPP那部分讲的,把
C:\php
(或你实际的PHP安装路径)添加到系统环境变量的Path
中。
Composer的安装姿势:
Composer的安装就简单多了,直接下载Composer-Setup.exe
运行,它会引导你完成安装,并自动帮你设置好环境变量。它会自动找到你系统中的PHP可执行文件。如果它没找到,那多半是你PHP的环境变量没设对,或者你电脑里有多个PHP版本,它选错了。
小贴士: 每次修改完环境变量,一定要打开一个新的CMD或PowerShell窗口来测试。旧窗口的环境变量是不会自动刷新的。输入php -v
和composer -v
,确保它们都能正常显示版本信息,这就算大功告成了。如果遇到问题,先检查Path
变量,再看看是不是有多个PHP版本在“打架”。
Laravel项目在Windows环境下常见的运行问题及解决方案?
在Windows上折腾Laravel,我遇到过不少“小坑”,有些是Windows特有的,有些则是新手常犯的。
- 文件权限问题:
- 问题表现:
storage
、bootstrap/cache
目录写入失败,导致日志无法生成、缓存无法写入,页面报错500。 - 解决方案: 这是最常见的。Windows的文件权限管理和Linux不同。通常,你需要给你的项目目录(特别是
storage
和bootstrap/cache
)赋予当前用户完全控制的权限。右键项目文件夹 -> 属性 -> 安全 -> 编辑,给你的用户添加完全控制权限。或者,如果你在WSL2里,确保你的Linux用户有这些目录的写入权限,通常sudo chmod -R 777 storage bootstrap/cache
可以临时解决,但更推荐sudo chown -R $USER:$USER storage bootstrap/cache
。
- 问题表现:
- 端口冲突(
php artisan serve
):- 问题表现: 运行
php artisan serve
时提示端口8000被占用。 - 解决方案: 可能是其他程序占用了8000端口,比如另一个Laravel项目,或者某些开发工具。你可以指定一个不同的端口:
php artisan serve --port=8001
。
- 问题表现: 运行
- Composer内存不足(
memory_limit
):- 问题表现: 运行
composer install
或composer update
时报错,提示内存不足。 - 解决方案: PHP默认的
memory_limit
可能不够大。你需要编辑php.ini
文件,找到memory_limit
这一行,将其值调大,比如memory_limit = 512M
或1024M
。改完记得重启XAMPP的Apache服务,或者如果你是手动安装PHP,确保你修改的是当前使用的php.ini
。
- 问题表现: 运行
.env
配置错误或未生成:- 问题表现: 数据库连接失败、应用密钥未生成导致加密解密问题。
- 解决方案: 确保你已经从
.env.example
复制并创建了.env
文件。仔细检查.env
文件中数据库连接信息(DB_HOST
,DB_PORT
,DB_DATABASE
,DB_USERNAME
,DB_PASSWORD
)是否与你的数据库配置一致。然后运行php artisan key:generate
生成应用密钥。
- Node.js/NPM相关问题:
- 问题表现: 如果你的Laravel项目使用了Laravel Mix或Vite进行前端资源编译,你可能需要安装Node.js和NPM。
- 解决方案: 访问Node.js官网下载并安装LTS版本。安装完成后,在项目根目录运行
npm install
安装前端依赖,然后运行npm run dev
(或npm run build
)编译前端资源。这块跟PHP环境是独立的,但对于现代Laravel项目来说,几乎是标配。
- Git行尾符转换问题:
- 问题表现: 在Windows上克隆的Git项目,在WSL2里运行时可能会因为行尾符(CRLF vs LF)问题导致脚本执行异常。
- 解决方案: 在Git配置中设置
git config --global core.autocrlf input
,或者在克隆项目时注意设置。如果已经克隆了,可以在WSL2里用dos2unix
工具转换文件。
这些问题,说白了就是环境配置、依赖管理和一些跨系统兼容性的小细节。多折腾几次,你就会发现它们其实都有固定的套路去解决。
终于介绍完啦!小伙伴们,这篇关于《Windows11下Laravel环境部署教程》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
152 收藏
-
187 收藏
-
432 收藏
-
425 收藏
-
202 收藏
-
485 收藏
-
273 收藏
-
386 收藏
-
194 收藏
-
293 收藏
-
324 收藏
-
368 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 511次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 498次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习