相信对于不少和笔者一样的个人开发者而言,在个人PC的Windows平台搭建Laravel环境时,使用官方推荐的Homestead套件是一件相当痛苦的事情。需要安装VirtualBox虚拟机、Vagrant及其镜像等一系列工作,并且由于众所周知的原因,连接海外网络经常会出现各种状况。
当然,规范的工程化开发还是应该尽量使用官方推荐的Homestead套件,这一方案被大多数企业认可。所以,这一节课后面还是要补上的。这里提供一种偷懒的办法,使用IIS作为web服务器来搭建环境。
IIS(英语:Internet Information Services,互联网信息服务,简称IIS)是Windows平台提供的web服务器,在功能上与apach、nginx区别不大,但是作为原生应用,在Windows平台的性能表现优于apach和nginx。不推荐在Windows平台使用apach、nginx,其性能和稳定性将大打折扣。
win10家庭版可能没有IIS,请使用专业版或旗舰版。
下面开始介绍使用IIS搭建Laravel环境。
一、安装php和composer
php下载页面 https://windows.php.net/download
选择对应的版本,下载zip包并解压。Laravel需要7.1版本以上。
打开php文件夹内的配置文件php.ini,将fileinfo扩展前面的注释分号去掉。这个扩展在安装composer时会用到。
composer下载页面 Composer
点击setup.exe下载Windows程序。当然,也可以使用php命令行来安装。
运行安装程序:
选择php命令行程序的路径,php.exe
安装完成后,会自动将composer和php添加到环境变量,此时防火墙软件可能会有提醒,请予以放行。
二、创建Laravel项目
新建一个文件夹作为Laravel项目的目录,在文件夹空白处按住Shift+鼠标右键,在此处打开Power shell窗口。Powershell是win10自带的命令行工具,类似cmd
在powershell窗口中输入composer create-project --prefer-dist laravel/laravel blog创建blog项目。
如果加载速度很慢,可以切换为阿里源。在powershell窗口中依次输入:
composer config -g secure-http false
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
执行之后重新创建项目。
出现Application key set successfully即说明Laravel项目创建成功,此时项目文件夹内出现Laravel项目包。
二、启用IIS功能
按下winkey + R 输入optionalfeatures,添加IIS功能,注意CGI必须勾选。
安装成功后,打开计算机管理,如果找不到,按下winkey + R 输入Compmgmt.msc运行。在左边找到IIS管理器打开。
在连接栏目中依次展开,打开默认网站,再点击右边的基本设置,设置网站启动目录。Laravel项目应设置为public文件夹。
点击处理程序映射,添加模块映射。路径输入*.php,模块选择fastcgi,可执行文件选择php程序文件夹内的php-cgi.exe。
双击默认文档,鼠标右键添加index.php
点击右侧的重新启动,再点击浏览。如果出现Laravel欢迎页面,即配置成功。本地浏览地址一般为127.0.0.1或者localhost。
三、添加伪静态
如果没有URL重写菜单,可能需要下载安装。记得拉到最下面直接下载安装包。
双击URL重写,点击右侧的导入规则。
选规项目public文件夹下的.htaccess文件,点击导入
IIS不支持E表达式,删除对应语句,点击右侧应用。
打开项目public文件夹下的web.config文件,把上面不支持的表达式HTTP请求头的Auth补上:
在</system.webServer>节点下,写入:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Headers" value="Content-Type, Authorization" />
</customHeaders>
</httpProtocol>
保存即可。
此时新建一个路由测试一下,打开浏览器访问127.0.0.1/helloworld
伪静态设置成功。
至此,IIS搭建Laravel环境已初步完成,后续可以继续添加数据库等其他相关组件。