Windows配置IIS+PHP+MySQL环境详细教程
1、windows iis安装功能
a、如果你是在普通的windows 7,10 IIS 安装cgi
具体内容如下:
阿里云限量代金券 | 此广告位出租25元/月 |
打开 开始 -> 控制面板 -> 程序与功能 -> 打开或关闭windows功能
勾选Internet信息服务,并点击前面的加号,勾选 万维网服务 -> 应用程序开发功能 -> CGI
点击确定,安装即可。
b、如果你是在专业的windows server 2012/2016/2019/2022服务器安装cgi
打开服务器管理,点击管理》添加角色与功能>下一步>下一步>下一步>只需要勾选Web服务器(IIS),点击下一步》.NET Framework3.5/4.6下的子项全选没问题,点下一步》下一步》为了后续使用尽可能减少的出现问题,所有角色服务全选没商量,选好点击下一步》直接点击安装,等待安装完成点击关闭
2、PHP下载、安装
地址:https://windows.php.net/download/
如果我们需要过去的php7.2.2 64位版本版本,请点击“Past releases”:https://windows.php.net/downloads/releases/archives/
根据需要下载相应的版本
下载得到php-7.2.2-nts-Win32-VC15-x64.zip
3、修改php.ini文件
在C盘根目录下创建php文件夹,解压到该目录下。
进入C盘php文件夹,找到php.ini-development,改名为php.ini,用文本编辑器打开
找到
找到; extension_dir = "./"将前面的;去掉,并替换双引号里的内容为extension_dir = "C:/php/ext" 找到;cgi.force_redirect = 1去掉; 改为cgi.force_redirect = 0 找到;cgi.fix_pathinfo=1去掉前面的; 找到;fastcgi.impersonate = 1去掉前面的; 保存退出
4、添加php处理程序,添加模块映射
打开服务器管理器,工具,打开Internet信息服务(IIS)管理器
输入以下信息
请求路径:输入*.php
模块:选择FastCgiModule(开启CGI功能后才有此选项)
可执行文件:C:\php\php-cgi.exe(PHP文件的路径)
名称:PHP FastCGI(可以随便起)5、FastCGI设置
返回IIS管理器主页——找到FastCGI设置,在FastCGI设置界面——右键选择C:\php\php-cgi.exe——点击编辑,在FastCGI应用程序窗口——设置 监视对文件所做的更改:C:\php\php.ini
6、修改默认文档
点击对应网站,选择默认文档,如图,我是设置为全局的,可在这里设置
添加默认文档index.php,并上移到第一个。
7、测试iis访问php程序
进入iis刚配置的网站中。浏览目录,新增index.php文件。
创建index.php,用文本编辑器打开输入如下内容:
<?php phpinfo(); ?>
保存退出。
进入刚才的网站,点击浏览网站,查看显示。
看到如下内容则表示iis+php配置成功。
8、添加网站
网站名称、物理路径、IP地址这里要选择你的公网IP或者VPC的内网IP,主机名填你自己的网站域名
9、转换/申请证书
IIS导入证书时必须是pfx格式,因此需要先将pem格式转换成pfx格式
格式转换网站:https://www.myssl.cn/tools/merge-pfx-cert.html
密钥(KEY)对应的文件内容
证书(PEM格式)对应的文件内容
a、自定义一个pfx的密码,然后点击合成pfx文件
b、合成成功浏览器就会自动下载pfx文件
我在线申请的证书直接有pfx格式,所以就不转换了
来此加密证书申请方法:https://diannaobos.com/post/1081.html
10、绑定/更新SSL证书
a.iis选择最顶部,然后上级进入服务器证书
b.点击右上角导入,选择生成好的.pfx证书并输入密码后点击确定,导入成功后,双击证书,查看底部的Certificate status是否正常(this Certificate is OK.)
c.密码为生成pfx格式时自定义的密码,导入后点击查看证书路径
d.选择对应的iis网站,点击绑定,选择刚刚导入到IIS的SSL证书,点击确定
e.注意绑定多个同域名下的子域名证书时若提示“IIS绑定证书时提示至少一个其他网站正在使用同一https绑定...”
11、检查证书是否生效
访问站点,url地址左侧有个小锁,点击小锁-》连接-》可以看到证书是否生效
12、IIS的“URL重写”强制跳转HTTPS
a.首先确认是否已安装URL重写模块,如果没有,可从官方下载地址中安装:https://www.iis.net/downloads/microsoft/url-rewrite
安装完后关闭IIS管理器重新打开
b.注意SSL设置不要勾选要求SSL,否则会导致不跳转https
c.选中指定站点,如果你安装的中文版应该会显示叫“URL 重写”的模块
编辑入站规则所用到的参数和设置信息整理:
名称:HTTP to HTTPS redirect 匹配URL:请求的URL:与模式匹配 使用:正则表达式 匹配URL模式:(.*) 添加条件1:条件:{HTTPS}检查输入字符串是否:与模式匹配 模式:off 添加条件2:条件:{HTTPS_HOST}检查输入字符串是否:与模式不匹配 模式:localhost 操作类型选择:重定向 重定向URL:https://{HTTP_HOST}/{R:1} 重定向类型:永久(301)
添加条件1
添加条件2
最后的效果图
13、可能遇到的问题及解决办法
如果你遇到HTTP 500报错或者其他一些报错提示
a.修改IIS应用程序池将标识里的内置账户设置为LocalSystem
IIS管理器-应用程序池-DefaultAppPool-高级设置-进程模型-标识-内置账户-选择LocalSystem-确定
b.如果还是有HTTP 500报错
打开IIS找到如下图的部分,双击点开错误页
点开之后点击编辑功能设置
这个时候页面就会出现详细错误
根据错误提示我们就可以知道是缺少某些扩展导致
添加一些常用的扩展
打开 php.ini
文件,找到以下行
;extension=mbstring 替换成 extension=mbstring
d.设置权限
搭建完成服务器了以后,Web页面能打开,但是会报错,500或者401等等,基本上是因为权限,如果401就是压根儿啥权限都没有,500有可能是在写本地数据库的时候,文件禁止写入所造成的服务器错误,于是乎,就请各位童鞋仔细查看网站目录的权限是否给够了。
如何检查呢,很简单,打开IIS,在左边的列表中选择一个网站或者虚拟目录,然后在右边的“操作”一栏中,选择“编辑权限”->“安全”,如图所示
在这里可以看到,我的网站目录权限中有“Everyone”、“Authenticated Users”、“SYSTEM”、“Administrators”等几个用户组或者用户名,并允许“Everyone”用户组进行读取和执行、列出等操作,所以网站的脚本、内容都是允许任何人进行访问或者说获取的,有些童鞋的硬盘中没有设置过权限,有可能就没有Everyone的这个权限,所以有可能访问出现如下情况
遇到这种情况有就可以在刚才(网站目录文件夹)的“安全”中,添加Everyone或者IIS_IUSRS访问权限,如果需要文件上传,可以将某个文件夹设为可读可写可执行,只要在需要的权限上打上勾即可,如图
14、安装MySQL
a.下载地址 官网:https://www.mysql.com
打开官网,点击DOWNLOADS
然后,点击 MySQL Community(GPL) Downloads 进入
点击 MySQL Community Server
在General Availability(GA) Releases中选择适合的版本
Windows平台下提供两种安装文件:MySQL二进制分发版(.msi安装文件)和免安装版(.zip缩文 件)。一般来讲,应当使用二进制分发版,因为该版本提供了图形化的安装向导过程,比其他的分发版使用起来要简单,不再需要其他工具启动就可以运行MySQL。
方式一:这里在Windows 系统下推荐下载 MSI安装程序 ;点击 Go to Download Page 进行下载即可
方式二:进入直接下载.zip格式的,无图形化配置界面,手动配置费时,不建议使用
往期版本下载操作:
如果安装MySQL5.7版本的话,选择 Archives ,接着选择MySQL5.7的相应版本即可。这里下载最近 期的MySQL5.7.34版本。
b.MySQL8.0 版本的安装 由于篇幅太长整理成world了:https://sh.23vps.com/files/MySQL8.0%E5%AE%89%E8%A3%85.docx
由于MySQL5.6 msi安装方式图解:https://sh.23vps.com/files/MySQL5.6%E5%9B%BE%E8%A7%A3%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B.docx
手动安装MySQL5.6方法:https://sh.23vps.com/files/%E6%89%8B%E5%8A%A8%E5%AE%89%E8%A3%85MySQL5.6.docx
15、安装phpmyadmin数据库管理工具
官网:https://www.phpmyadmin.net/
打开IIS管理工具 新建phpmyadmin管理网站
在新建网站填写数据库参数时 用户名就填写root.密码填写你安装时的密码 数据库名称你自定义。
以后 既使你重新安装系统 你只需要把C:\php\MySQL\MySQL Server 5.6\data里面的数据库数据备份一下 然后全新安装mysql后 再把备份的data替换新的data目录就行了。直接使用。