部署IIS的WEB服务器居然可以兼容PHP了?

Lunvps

PS:本文很长,请看完并珍惜!!!

环境描述:

操作系统:Windows Server 2008

PHP版本:php 7.3.32

MySQL 版本:MySQL 5.7.43

相关下载:

1.PHP下载地址:

2.MySQL下载地址:

3.Visual C++ Redistributable for Visual Studio 2015-2022(安装 PHP 和 MySQL 所需)

自 Visual Studio 2015 以来的 Visual Studio 版本共享相同的可再分发文件。

例如,使用 Visual Studio 2015、2017 或 2019 工具集构建的应用程序可以使用最新的 Microsoft Visual C++ Redistributable。

但是,您计算机上安装的 Microsoft Visual C++ Redistributable 版本必须与您用于创建应用程序的 Visual C++ 工具集版本相同或更高。

准备工作完成后我们开始操作,首先自己安装IIS,不懂的话直接百度搜就可以了,不用多说了。另外保证系统比较纯净,不要安装phpstudy或者宝塔之类的第三方控件,因为会和IIS冲突。然后我们先安装Visual C++。

首先安装x86的程序,如图:

点同意,再点安装,安装完成后点关闭,继续安装X64。

按理来说应该没有什么顺序,正常安装,成功后关闭就行。

安装PHP:

将下载的PHP版本解压,我们的环境需要7.3,所以我下载的是7.3.23 x64版本,根据实际情况按照准备好的链接下载,这里因为Win默认没有解压软件,所以默认是zip文件可以直接打开,我以为是一个文件夹,怎么复制粘贴都打不开,后来一看,原来是一个zip文件,,,

解压php-7.3.32-nts-Win32-VC15-x64.zip文件,将文件夹重命名为php73,将php73文件夹复制到指定磁盘目录下,我们在E盘目录下:

打开 E:\phpmysql\php73

复制php.ini-production并修改为:php.ini,如上图↑

然后使用编辑器打开php.ini配置文件,切记不要用Windows自带的记事本打开,否则可能会出现错误。

进行如下添加和修改,然后删除前导“;”分号:

extension_dir = "E:\phpmysql\php73" #设置php模块路径
date.timezone = PRC #设置时区为中国时区
cgi.force_redirect = 0 #开启以CGI方式运行php
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1

可以根据需要启用以下PHP扩展模块,去掉前面的分号即可启动相应的扩展模块。

extension=curl
extension=gd2
extension=mbstring
extension=exif
extension=mysqli
extension=sockets
extension=pdo_mysql

修改完成后大概是这个样子:

配置文件修改完成后保存退出,接下来配置IIS支持PHP映射:

首先我们来看一下设置之前的效果:

我们打开控制面板——系统和安全——管理工具——打开(IIS)管理器,然后双击左侧“开始页”下的计算机名称,找到中间的IIS部分,如图:

打开“Handler Mapping”,点击右侧的“Add Module Mapping”如图:

添加如下

请求路径:*.php

模块:FastCgiModule

可执行文件(可选):E:\phpmysql\php73\php-cgi.exe

名称:FastCGI

可执行文件,选择的时候设置(*.exe)或者直接把目录改成你的PHP目录,其他的直接粘贴就行了。设置好之后点击OK,会弹出一个提示框,选择Yes就可以了。

要设置 FastCGI,请找到中间的 IIS 部分并打开“FastCGI 设置”

右键点击“E:\phpmysql\php73\php-cgi.exe”,选择编辑,即可监视该文件的修改:E:\phpmysql\php73\php.ini,如图:

环境变量,点击添加旁边的“…”,弹出新的编辑器,点击添加:

名称:PHP_FCGI_MAX_REQUESTS

价值: 1000

OK,如图:

最后在IIS设置中打开“默认文档”如图:

找到中间的IIS部分,打开“默认文档”,选择右边的“添加”,弹出添加默认文档的对话框,在这里设置默认的PHP文件,一般是“index.php”,点击确定,如图:

设置完成后我们可以右键选择“上移”选项,将index.php移到最上面。测试PHP程序是否运行正常,打开刚才的错误页面,刷新看看效果,如图所示正确部署完成。

安装 MySQL

下载自己需要的MySQL版本,然后解压到磁盘目录下,如图:

设置MySQL的系统环境变量“计算机--高级属性设置--高级--环境变量--系统变量”新建一个,如图:

”将MySQL的bin目录添加到Path系统变量中”,如图:

%HOME_MYSQL%\bin

在“E:\phpmysql\mysql57”目录下创建data、uploads两个文件夹及my.ini配置文件,分别作为数据和导入导出文件的存放路径,如图:

在E:\phpmysql\mysql57配置文件中添加如下内容:

[mysqld]
port=3306
character_set_server=utf8mb4
basedir=E:\phpmysql\mysql57
datadir=E:\phpmysql\mysql57\data
server-id=1
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1
innodb_file_per_table=1
log_timestamps=SYSTEM
log-error=error.log
slow_query_log=1
slow_query_log_file=slow.log
long_query_time=5
log-bin=binlog
binlog_format=row
expire_logs_days=15
log_bin_trust_function_creators=1
secure-file-priv=E:\phpmysql\mysql57\uploads
[client]   
default-character-set=utf8mb4

将目录改为你实际的目录,其他配置暂时不用修改,然后右键win菜单,选择“Windows PowerShell(管理员)”进入指定路径,进行初始化。

输入命令:

cd E:\phpmysql\mysql57

进入mysql目录,输入命令:

mysqld --initialize-insecure

如上图:cmd进入bin目录然后执行

mysqld -install

出现Service successfulinstalled提示,表示安装成功,安装成功后尝试启动MySQL服务,如图:

启动完成后我们先进行登录。

mysql -uroot

设置密码,命令:(liblog.cn)是你设置的密码,

SET PASSWORD FOR 'root'@'localhost' = "liblog.cn";

授权,

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY "liblog.cn" WITH GRANT OPTION;

同样(liblog.cn)是密码,你自己设置的,如图:,编码后的就是我的密码。

至此在IIS上部署PHP+MySQL的步骤就完成了,接下来就是搭建网站,部署源码了,剩下的就看你自己了,不行,代码太多了,真的要一步一步操作,傻瓜式的教程也没用,反正也不难(听起来好熟悉啊?)。好了,有问题的话留言反馈,我要休息了,头晕~~~

文章版权声明:除非注明,否则均为论主机评测网原创文章,转载或复制请以超链接形式并注明出处。