使用 Laragon 在 Windows 中搭建 Laravel 开发环境
简介
之前学院君陆续写了三篇介绍 Laravel 开发环境的教程:Homestead、Valet 和 LaraDock,我都是在 Mac 系统中安装使用的,相当流畅,没有任何梗,但是对于那些使用 Windows 的同学来说,Valet 就不说了,Homestead 和 LaraDock 虽说支持 Windows 系统,但是对小白来说,还是有一定复杂度的,难免有些磕磕跘跘,遇到这样那样的奇怪问题,可能大部分人会退而继续使用 Xampp、Wamp、phpStudy 之类集成工具,今天学院君要给大家推荐一款可能更加容易使用的 Windows 集成开发环境,更重要的是,它对 Laravel 非常友好,它的名字叫做 Laragon。Laragon 具备以下优秀的特性:- 自动创建虚拟主机(Virtual Host,Valet 也有这样的功能)
- 邮件接收和发送
- 非常方便地切换 PHP、Apache、MySQL 的不同版本
- 轻松创建框架应用,如 Laravel、Symfony、WordPress、Joomla 等
- 基于自己的需求为不同的环境设置不同的配置
安装
我们可以在这里下载 Laragon:https://sourceforge.net/projects/laragon/,Windows下的软件安装就不需多言了吧,注意在这一步勾选下 Auto virtual hosts(我的虚拟机语言选择中文乱码,所以使用了英文界面,你们可以自己根据喜好进行设置):然后下一步点击安装即可。下面是 Laragon 启动后的界面:
要启动 Apache、MySQL 服务,需要点击 Start All 按钮:
这样点击 Web 即可打开浏览器访问默认站点 http://localhost
:
要访问数据库,可以点击 Database 按钮:
默认数据库是 Laragon,用户名是 root,密码是空字符串,点击打开按钮,就可以访问这个默认的数据库:
当然你也可以使用其他自己喜欢的数据库客户端连接到这个数据库进行操作。
点击 Laragon 界面的 Terminal 按钮可以进入到一个类 Unix 的终端工具 Cmder 进行命令行操作:
最后,Laragon 界面还有一个 Root 按钮,点击之后即可进入 Laragon 文档根目录,我的 Laragon 安装在 C 盘下,所以对应的文档根目录是 C:\laragon\www
。
此外,Laragon 界面右上角还有个齿轮按钮,点击可以对系统进行设置,比如我们可以设置语言为简体中文:
下面我们就来一一熟悉上述功能特性的使用,学会 Windows 下的这款 Laravel 开发利器。
自动创建虚拟主机
和 Valet 类似,当你在 Laragon 文档根目录下创建新的文件夹时,启动 Laragon 就会自动为你创建虚拟主机,默认主机域名是http://folder_name.dev
,在浏览器中访问这个域名就能看到 Web 页面了,是不是很方便?我们可以在命令行中使用 Laravel 安装器安装一个 blog 应用(不知道怎么操作?可以参考安装配置文档中的安装部分):
那么在重新加载 Apache 服务器之后,就可以在浏览中通过 http://blog.dev
访问刚刚创建的应用了:
是不是很nice?如果你想将域名后缀 .dev
改成其它如 .com
可以通过点击 Laragon 界面上的齿轮按钮对默认配置进行修改:
将 .env
改成 .com
重新加载 Apache 服务即可通过 http://blog.com
访问站点。
邮件发送&接收
Mail Sender
开发 Web 应用时你可能需要发送邮件来测试功能是否正常,要实现这样的功能你可能需要提供自己的邮箱和一些测试邮件,Laragon 为我们提供 Mail Sender 功能,该功能目前仅支持 Gmail账户,你需要将 Gmail 账户及密码输入到以下输入框中:点击测试发送邮件按钮,收到成功提示后就可以通过 PHP 的 mail
函数发送邮件了:
mail($to, $subject, $message)
Mail Catcher
一般我们查收邮件都需要登录邮箱账户,刷新收件箱或者垃圾邮箱去查看测试邮件,操作起来比较麻烦,Laragon 为我们提供了 Mail Catcher 功能,该功能会保存应用发送的邮件然后默认为我们展示 3 秒,这样我们就可以轻松预览邮件,而不需要去收件箱或者垃圾邮件中查找,如果你觉得 3 秒时间太短,也可以将其修改为一个更大的值:下面我们简单体验下这两个功能,在上面创建的 blog
应用中定义一个路由 send_mail
:
然后在浏览器中访问 http://blog.dev/send_mail
,就可以在桌面右下角看到邮件发送提示:
切换 PHP、Apache 和 MySQL 版本
你可以通过点击 Laragon 界面上的菜单来切换不同软件的版本:现在默认安装的 Laragon 每个软件都只有一个版本,以 PHP 为例如果想要支持多个版本的切换和测试,需要到 http://windows.php.net/download/ 去下载不同版本(需要下载 Non Thread Safe 版本),然后将下载后的文件解压到 C:\laragon\bin\php
(注意这里的目录以你的Laragon安装目录为准,比如我的就是安装在 C:\laragon
)目录下:
这样就可以进行版本切换了:
切换 MySQL 和 Apache 的版本也是类似,这里不再赘述,一般这种场景也不多。
启用 Nginx 替代 Apache
如果你想要使用 Nginx 作为 Web 服务器,也可以轻松实现,在配置里面取消勾选 Apache,改为勾选 Nginx 然后修改绑定端口为 80 即可:启用 Memcached 和 Redis 也只需要勾选上相应的配置项即可,非常方便。配置完成后,Laragon 会自动关闭 Apache 并启动 Nginx 服务器:
然后,在浏览器中访问 http://blog.dev
,没有任何问题,平稳过渡,大功告成。
快速创建 Laravel 应用
上面我们通过 Laravel 安装器创建了一个新的 Laravel 应用,其实已经很方便了,但是还有更方便的,我们通过点击"菜单->快速创建->Laravel"可以不用敲任何命令就可以安装一个 Laravel 应用:在弹出的窗口中输入应用的名称:
点击Ok后就会弹出命令行窗口为我们创建应用:
可以看到还是调用了 Composer 来安装,所以要使用这个功能你需要预先在系统中安装 Composer。安装完成后,可以看到我们的 www
目录下新增了一个 laravel
目录,这就是我们刚才安装的 Laravel 应用了:
Laragon 的强大之处不仅如此,还支持你扩展默认支持的框架,比如我们想要快速安装 Yii 框架应用,可以通过"菜单->快速创建->配置"来编辑配置文件实现:
# Options
AutoCreateDatabase=true
Cached=true
# Blank: an empty project
Blank=
# Wordpress
Wordpress=https://wordpress.org/latest.zip
# Joomla
Joomla=https://github.com/joomla/joomla-cms/releases/download/3.7.1/Joomla_3.7.1-Stable-Full_Package.zip
# Prestashop
Prestashop=https://github.com/PrestaShop/PrestaShop/releases/download/1.7.2.1/prestashop_1.7.2.1.zip
------------------------------------------------------
# Drupal
Drupal 8=https://ftp.drupal.org/files/projects/drupal-8.3.7.tar.gz
### Drupal 7=https://ftp.drupal.org/files/projects/drupal-7.43.tar.gz
------------------------------------------------------
# Laravel
Laravel=composer create-project laravel/laravel %s --prefer-dist
Laravel 7z=https://github.com/leokhoa/quick-create-laravel/releases/download/5.4.23/laravel-5.4.23.7z
Laravel dev-develop=composer create-project laravel/laravel %s dev-develop
### Laravel 4=composer create-project laravel/laravel %s 4.2 --prefer-dist
Lumen=composer create-project laravel/lumen %s --prefer-dist
------------------------------------------------------
# CakePHP
CakePHP=composer create-project --prefer-dist cakephp/app %s
# Symfony
Symfony=composer create-project symfony/framework-standard-edition %s
在这个文件里可以看到 Laravel 应用安装的命令和配置,我们依样画葫芦,在文件最后添加如下配置:
# Yii
Yii=composer create-project –prefer-dist yiisoft/yii2-app-advanced %s –prefer-dist
保存文件后,再次点开"菜单->快速创建",就可以看到 Yii 的身影了:
创建应用的流程和 Laravel 差不多,不再赘述。
48 Comments
Route::get('/', function () { return view('welcome'); }); Route::get('hi', function () { return '123';
按照教程中的步骤,环境搭建完了,但是除了'/"以为,其他路由都失败! Not Found
The requested URL /hi/ was not found on this server. 怎么回事?还应当怎么配置?
laragon老是弹出窗口报错! Error Oh no,Laragon detected exceptions! 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。
点下面的OK,laragon软件就关闭了,开着报错对话框不动,网页倒能运行。 有的时候刚点start all开服务器就接着报错,有时候过5分钟弹出了,怎么回事?
过了十几分钟有三个一模一样的报错窗口了。这样开一天,得上百个报错窗口啊,而且为了跑网页还不能关掉
君君:
我添加 php-5.6.38-Win32-VC11-x64 和 php-7.0.32-Win32-VC14-x64 切换过去后,提示和apache-win64不匹配,但是能正常开启,就是curl 扩展用不了;
但是添加 php-7.2.12-Win32-VC15-x64 版本就可以,默认自带 php-7.2.11-Win32-VC15-x64
解决了...就是版本没对应
想问下laragon能不能按装Horizon,装了几次都报错,用不了
你到是把报错信息贴出来啊
windows没有PCNTL扩展吧, 在网上抄的 Laravel/horizon 是 PCNTL 的扩展,而此扩展只支持 Linux 系列。 如果在Windows环境开发,可在 composer.json 中的 config 参数中增加以下 "platform": { "ext-pcntl": "7.2", "ext-posix": "7.2"}