实操日志之Windows Server2008R2 IIS7 配置Php7.4.3

Windows7+IIS7+PHP+MySQL - 适用于(2008 R2 / 8 / 10)

配置需求

操作系统:windows2008IIS版本:7.0

PHP版本:7.4.3

MySQL版本:5.7.12 及以上第一步:

安装 IIS

默认"Internet 信息服务"打勾安装

直接选择CGI,会自动安装FastCGI,不需要再安装ISAPI

2.新建网站目录

运行->inetmgr

右击"网站=>添加网站"

添加网站信息,一定按图片所示设置,除了路径自选

弹出"80端口占用",意味着你将会有另一个网站【Default Web Site】同时占用80端口,解决办法:

第二步:安装 PHP

下载地址:https://download.csdn.net/download/tjsoft/90565096

实操日志之WindowsServer2008R2IIS7配置Php7.4.3所需所有安装包资源-CSDN文库下载地址:实操日志之WindowsServer2008R2IIS7配置Php7.4.3所需所有安装包资源-CSDN文库

https://download.csdn.net/download/tjsoft/90565096

将PHP环境包解压后,找到php.ini-xxx文件

既然是本地开发测试,大叔建议:复制"php.ini-development" 并粘贴,重命名为php.ini

文件名版本名称备注php.ini-developmentphp.ini-dist(5.5版以后名称)(5.5版以前名称)拥有较低的安全性设定,对权限设置适合开发程式使用php.ini-productionphp.ini-recommended(5.5版以后名称)(5.5版以前名称)拥有较高的安全性设定,则适合正式上线的服务器中使用配置 php.ini

1.设置extension_dir插件

搜索并找到extension_dir = "",在""里面输入PHP插件ext目录所在的位置,extension_dir = "C:\websoft\php-7.4.3\ext"

搜索并找到extension_dir=,会找到插件目录列表,大叔建议打开以下插件(去掉前面";")维持大部分的PHP网站功能,如果有其他需求再打开其他插件(注:配置一次PHP.ini就需要重启一次IIS)

extension=php_bz2.dll

extension=php_curl.dll

extension=php_gd2.dll

extension=php_mbstring.dll

extension=php_mysql.dll

extension=php_mysqli.dll

extension=php_pdo_mysql.dll

2.设置时区:date.timezone = Asia/Shanghai

3.IIS 添加 PHP 支持

运行->inetmgr

打开:处理程序映射

打开:添加模块映射

这样一个IIS+PHP环境就搭建好了。

Windows2008R2 安装 PHP7.4.30 必须 LocalSystem 启动应用程序池 不然500错误 FastCGI 进程意外退出

应用程序池-高级设置-进程模型 中的选项"标识"中,默认是"ApplicationPoolIdentity" 切换成"LocalSystem" 顺利解决。

5.5版本之前Windows配置IIS+PHP,需要安装VC9Windows配置Apache+PHP,需要安装VC65.5版本之后只有VCXX了,只要选线程方式和32位/64位系统就可以了Non Thread Safe是指非线程安全,Thread Safe则是指线程安全使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本使用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率FastCGI 进程错误汇总

错误1:php-cgi.exe - FastCGI 进程意外退出

打开http://localhost页面,提示以上错误,95%以上就是环境对应的VC版本没装对。

你需要寻找PHP VC号对应的Visual C++ Redistributable for Visual Studio开发版本:

如果之前的安装严格按照本文所述,那应该考虑权限问题,是否把PHP、Apache、MySQL程序放置在了C盘的严控权限位置(比如桌面)。

将程序文件夹添加人员【Everyone】,权限为【所有】,重新刷新页面即可。

第三步:安装 MySQL

下载地址:https://dev.mysql.com/downloads/mysql/

进入官网下载页面,拖至最下面,或在页面搜索 Other Downloads:

24.png

32位系统下载:Windows (x86, 32-bit), ZIP Archive64位系统下载:Windows (x86, 64-bit), ZIP Archive

配置 my.ini

【my.ini】是MySQL安装使用的核心文件,安装与使用都需要靠他来引导。

将文件下载后解压,复制 my--default.ini 复制并重命名为 my.ini(新版的好像都不再带 my--default.ini,所以自己在根目录下建一个 my.ini)

1.设置MySQL安装路径

在 my.ini 中,一定要存在下面的字符,如果不存在,就自己码进去,然后保存,

mysqld\]#skip-grant-tables #这名加上可以跳过验证basedir= C:/User/Administrator/XXX/XXX/mysql-noinstall-5.1.53-win32 #根目录#datadir=C:/User/Administrator/XXX/XXX/mysql-noinstall-5.1.53-win32/data #数据文件存放目录2.人工安装 MySQL 打开CMD控制台 通过CMD的 cd 命令,进入MySQL的根目录下的bin文件夹 在bin文件夹下分别输入下面三条指令: mysqld --install MySQL 回车(成功会提示,S开头字母)mysqld -remove 回车(如果安装位置出错,就用这个命令删除配置,然后重新安装。)net start mysql 回车(成功会提示服务已经运行)如果安装成功,就可以通过CMD命令,轻松开启/关闭MySQL了 注意:保存【my.ini】时编码一定设为Ansi,否则会报如下错误 error: Found option without preceding group in config file: D:\\Program Files\\mysql-5.6.25-winx64\\my.ini at line: 1Fatal error in defaults handling. Program aborted。 这时,你在CMD中运行net start mysql命令,恭喜,你进入了MySQL的的卡死循环状态中。 错误提示解决方案汇总 1.服务无法启动 C:XXX\>mysql\>bin\>net start mysqlMySQL 服务正在启动 ....MySQL 服务无法启动。服务没有报告任何错误。请键入 NET HELPMSG 3534 以获得更多的帮助。 解决方案:【MySQL】服务无法启动,服务没有报告任何错误的解决办法 2.新安装MySQL,Root空密码无法登录 MySQL\> mysql -u root -pEnter password:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方案:【MySQL】免安装版安装并启动成功后,无法登录,root帐户密码强制重设 第四步:设置伪静态 1.下载 IIS 7 的 Microsoft URL 重写模块 2.0 模板 官网64位:http://www.microsoft.com/zh-cn/download/details.aspx?id=7435官网32位:http://www.microsoft.com/zh-cn/download/details.aspx?id=5747IIS URL Rewrite下载地址:http://www.iis.net/download/URLRewrite 2.设置web.config \\\\\\\\\\\\\\\\\\\\其他问题 问题1:File upload error - unable to create a temporary file in Unknown on line 0 原因:因为PHP的临时目录为不可读写 解决方案: 打开 php.ini 找到 upload_tmp_dir找一个位置为php上传临时目录,然后 upload_tmp_dir = "D://upload/"问题2:PHP Notice: Undefined variable 原因:PHP默认的配置会报这个错误,虽然有利于发现错误,但同时实践中会出现很多问题。 解决方法: 方法1:修改 \*\*php.ini \*\*配置文件 \*\*error_reporting \*\*设置: 找到 error_reporting = E_ALL修改为 error_reporting = E_ALL \& \~E_NOTICE原理:减弱PHP的敏感程度,使其遇到这种问题不报错。(不推荐这种方式,会导致你错误的语法继续出错) 方法2:在PHP文件头部加入以下代码 \同样也可以解决问题,但同样不推荐,这个方法。 方法3:修正你的语法,让你的代码更规范!!! 点击取消,返回修改端口,重新确定。点击确定,每次使用时,关闭其中一个网站

相关推荐
darkb1rd4 分钟前
七、PHP配置(php.ini)安全最佳实践
安全·php·webshell
凯子坚持 c10 分钟前
CANN 性能剖析实战:从原始事件到交互式火焰图
windows·microsoft
JSON_L29 分钟前
Fastadmin中使用GatewayClient
php·fastadmin
青茶36042 分钟前
php怎么实现订单接口状态轮询请求
前端·javascript·php
开开心心就好1 小时前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
獨枭1 小时前
PyCharm 跑通 SAM 全流程实战
windows
仙剑魔尊重楼2 小时前
音乐制作电子软件FL Studio2025.2.4.5242中文版新功能介绍
windows·音频·录屏·音乐·fl studio
PHP小志2 小时前
Windows 服务器怎么修改密码和用户名?账户被系统锁定如何解锁
windows
wxin_VXbishe3 小时前
C#(asp.net)学员竞赛信息管理系统-计算机毕业设计源码28790
java·vue.js·spring boot·spring·django·c#·php
专注VB编程开发20年3 小时前
vb.net datatable新增数据时改用数组缓存
java·linux·windows