【PHP】部署和发布PHP网站到IIS服务器
欢迎来到《小5讲堂》
这是《PHP》系列文章,每篇文章将以博主理解的角度展开讲解。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!
目录
- 前言
- 安装PHP
-
- 稳定版本
- 线程安全版
- 解压使用
- PHP配置
-
- 配置文件
- 扩展文件路径
- 加载扩展文件
- 其他信息设置
- 放置系统目录
- 报错解决方法
- 部署PHP的IIS环境
-
- 添加角色
- 处理程序映射
- 增加默认文件
- 运行效果
- PHP优势
前言
最近将之前使用的一套部署在linux系统上的PHP官网放到IIS服务器上运行,
因此本篇文章将简单介绍如何在IIS服务器上部署PHP网站。
安装PHP
下载地址:https://www.php.net/downloads.php
稳定版本
博主当前时间最新稳定版本是Current Stable PHP 8.3.13,点击Windows downloads即可
线程安全版
在跳转页面,建议选择VS16 x64 Thread Safe(线程安全版本,以及直接是Zip压缩包,下载后,直接解压复制文件到指定文件夹接口,绿色版不用安装)
解压使用
将下载好的PHP压缩文件Zip解压到C盘,创建一个php文件夹,将文件复制进去,并创建一个www文件夹(用于存放网站文件)
PHP配置
配置文件
将PHP根目录下的php.ini-production复制一份并改名为 php.ini,作为PHP的配置文件,这份也作为生成环境配置文件,
在文件夹下还有一份开发环境的文件,如果以团队化开发的话就需要用到。
扩展文件路径
找到extension_dir,并将前面的分号去掉(启用),并复制php配置具体路径,如下:
加载扩展文件
将需要开启的扩展文件取消分号即可
其他信息设置
设置时区date.timezone=Asia/Beijing
设置ssl=cacert.pem
开启php短标签short_open_tag=on
以CGI模式运行PHP cgi.force_redirect = 0
开启IIS的FastCGI托管
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1
放置系统目录
将上面配置好的php配置文件放到Windows目录下
报错解决方法
HTTP 错误 500.0 - Internal Server Error
php-cgi.exe - FastCGI 进程意外退出
解决方案:安装 vc_redist.x64.exe
部署PHP的IIS环境
添加角色
如果是首次配置的IIS环境,需要添加角色以及CGI等应用,此处略过。
处理程序映射
点击处理程序映射,再点添加模块映射,弹窗填写信息
请求路径:*.php
模块:选择FastCgiModel
可执行文件:php-cgi.exe(解压文件里找)
名称:phpcgi(自己自定义命名)
增加默认文件
添加默认文件,目的是访问首页不用输入具体php文件名就能够自动访问默认的index.php文件。
运行效果
根据下面一段php代码,可以查看运行效果。能够运行起来说明php环境已经配置好。
写一段php的for循环
<table>
<?phpfor($i=1;$i<=10;$i++){echo '<tr style="width:100%;height:30px;">';for($j=1;$j<=10;$j++){echo '<td>'.$j.'</td>'; }echo '</tr>';}
?>
</table>
PHP优势
PHP(Hypertext Preprocessor)是一种广泛使用的开源服务器端脚本语言,特别适用于Web开发。它最初由Rasmus Lerdorf于1994年创建,旨在简化网页开发过程。PHP可以嵌入到HTML中,并与多种数据库集成,最常用的是MySQL。其灵活性、易学性和强大的社区支持使得PHP成为开发动态网页和Web应用程序的首选语言之一。PHP的主要优势可以归纳如下:
1、易学易用
语法简洁:PHP的语法简单易懂,类似于C语言,对于初学者来说很容易上手。它使用C、Java和Perl等编程语言的特点,使其更容易理解和编写。
解释型语言:PHP是一种解释型语言,这意味着开发者可以在运行时看到结果,这对于调试和开发大型项目非常有帮助。
丰富资源:PHP社区提供了大量的教程、论坛和在线资源,帮助开发者提高他们的技能。
2、开源和免费
开源性:PHP的源代码是公开的,这意味着你可以免费使用、修改和分发它。开源性带来了很多好处,如让开发人员可以定制和调整PHP以满足项目的需求。
免费使用:PHP的运行环境也是免费的,这可以节省大量的时间和金钱。
3、跨平台性
广泛支持:PHP可以在多种操作系统上运行,包括Windows、Linux和Mac OS等。这使得开发人员可以在不同的平台上构建和部署Web应用程序,为用户提供更好的体验。
4、强大的社区支持
活跃社区:PHP有一个非常活跃的开发者社区,这意味着你可以找到大量的教程、文档和第三方库来帮助你开发网站。
持续迭代:许多大公司,如微软、亚马逊和谷歌,都在使用PHP,这也证明了它的稳定性和可靠性。
5、与MySQL的良好集成
内置支持:PHP内置对MySQL的支持,这使得开发者可以轻松地在PHP中处理数据库操作,而无需编写额外的代码。
广泛支持:PHP还可以与多种其他数据库系统(如PostgreSQL、SQLite等)无缝配合。
6、丰富的框架和库
成熟框架:PHP有许多可用的框架和库,如Laravel、Symfony和CodeIgniter等,这些框架和库提供了许多预先编写好的功能,可以帮助开发者快速构建复杂的应用程序。
内置函数:PHP还提供了丰富的内置函数和扩展,可以用于各种任务,如字符串处理、文件操作、图像处理等。
7、安全性
内置安全特性:PHP有一些内置的安全特性,如防止SQL注入的预处理语句和参数化查询,以及自动转义特殊字符等,这些都可以帮助开发者提高应用程序的安全性。
安全实践:通过采用安全编码实践,如输入验证、输出过滤和维护最新的PHP版本,可以进一步确保PHP应用程序的安全性。
8、高效的服务器端处理能力
复杂运算:PHP可以在服务器端进行复杂的运算,如排序、搜索和数学计算等,这使得它非常适合用于需要高性能的动态网页和Web服务。
性能优化:随着PHP版本的更新,其性能也在不断改进。例如,PHP 7和PHP 8引入了显著的性能提升和优化技术。
综上所述,PHP以其易学易用、开源免费、跨平台性、强大的社区支持、与MySQL的良好集成、丰富的框架和库、安全性以及高效的服务器端处理能力等优势,在Web开发领域占据了重要地位。
以上就是php在iis服务器上的运行环境配置,实际可能会遇到各种各样的问题,也欢迎交流学习分享。
相关文章:

【PHP】部署和发布PHP网站到IIS服务器
欢迎来到《小5讲堂》 这是《PHP》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 前言安装PHP 稳定版本线程安全版解压使用 PHP配置 配置文件扩展文件…...

渗透测试之SSRF漏洞原理 危害 产生的原因 探测手法 防御手法 绕过手法 限制的手段
目录 SSRF说明: SSRF攻击流程 原理: 危害: SSRF产生的原因 ssrf漏洞利用{危害} 探测手法是否存在SSRF漏洞 如何找ssrf漏洞位置 分享连接地址 google hack url关键字 PHP语言中可能出现的ssrf漏洞函数 file_get_contents sockopen() curl_exec() SSRF…...

微信小程序-base64加解密
思路:先创建一个base64.js的文件,这个文件可以作为专门加解密的文件模块,需要时就引用;创建好后,引用base64.js里的加解密函数。 注意:引用模块一定要引用正确的路径,否则会报错。 base64.js:…...
Linux shell 批量验证端口连通性
脚本 #!/bin/bash # #database check #set -o nounset LOCALIPifconfig | grep inet | head -1 | awk {print $2} | sed s/addr\:// IPLIST192.168.1.99 192.168.1.98 192.168.1.97 PORTLIST81 82 83 84 85 86 check_nc(){ for CHECK_IP in $IPLIST dofor CHECK_PORT in $PORT…...

2025-1-21 Newstar CTF web week1 wp
文章目录 week1headach3会赢吗智械危机 week1 headach3 根据提示,在页面的请求头里找到flag flag{You_Ar3_R3Ally_A_9ooD_d0ctor} 会赢吗 打开控制台,拿到第一部分flag 将地址栏改为提示,去到下一关 控制台调用函数,得到flag …...

【系统架构】如何设计一个秒杀系统?
目录 1. 什么是秒杀? 2. 秒杀系统的特点 3. 如何设计秒杀系统? 3.1 前端秒杀设计 3.2 后端秒杀设计 4. 如何保证不超卖? 4.1 库存扣减方式 4.2 服务端库存处理 5. 总结 * 知识扩展:什么是CDN? 1. 什么是秒杀…...
C++模拟实现queue
C模拟实现queue 1.queue的基本概念2.queue的基本框架3.size()成员函数4.empty()成员函数5.push()成员函数6.pop()成员函数7.front()成员函数8.back()成员函数9.完整代码 🌟🌟hello,各位读者大大们你们好呀🌟🌟 &#x…...

【2025小年源码免费送】
💖学习知识需费心, 📕整理归纳更费神。 🎉源码免费人人喜, 🔥码农福利等你领! 💖山高路远坑又深, 📕大军纵横任驰奔, 🎉谁敢横刀立马行…...
PyQt5 超详细入门级教程上篇
PyQt5 超详细入门级教程 上篇:1-3部分:PyQt5基础与常用控件 第1部分:初识 PyQt5 和安装 1.1 什么是 PyQt5? PyQt5 是 Python 的图形用户界面 (GUI) 框架,它基于强大的 Qt 库。Qt 是一个跨平台的 C 框架,用…...

qiankun+vite+vue3
基座与子应用代码示例 本示例中,基座为Vue3,子应用也是Vue3,由于qiankun不支持Vite构建的项目,这里还要引入 vite-plugin-qiankun 插件 基座(主应用) 加载qiankun依赖 npm i qiankun -S qiankun配置(src/qiankun) src/qiankun/config.ts export default {subApp…...
【数据结构】顺序队列与链式队列
顺序队列与链式队列 1.队列的基本概念1.顺序存储的队列:循环队列3.链式存储的队列:链式队列 1.队列的基本概念 队列是一种逻辑结构,是一种特殊的线性表 只能在固定的两端操作线性表 只要满足上述条件,那么这种特殊的线性表就会…...
Cursor的详细使用指南
以下是一份关于 Cursor 的详细使用指南: 一、安装与设置 下载与安装: 首先,访问 Cursor 的官方网站,根据你的操作系统(Windows、Mac 或 Linux)下载相应的安装程序。运行安装程序,按照屏幕上的提…...
2025美赛数学建模B题思路+模型+代码+论文
2025美赛数学建模A题B题C题D题E题思路模型代码(1.24第一时间更新,更新见文末名片) 论文数学建模感想 纪念逝去的大学数学建模:两次校赛,两次国赛,两次美赛,一次电工杯。从大一下学期组队到现在…...

2024年度总结-CSDN
2024年CSDN年度总结 Author:OnceDay Date:2025年1月21日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 文章目录 2024年CSDN年度总结1. 整体回顾2…...

2024国游销量前20游戏分析:某开放世界武侠(排名11)
1、销量约20万套,销售额1400万人民币。 与一代的发售间隔为三年。 虽然对于网游大厂来说这个数字不够看,但对一个小团队来说足够维持了,三年的运营成本不是小数目。 2、开发商属于国内最早做3DMMO的厂商之一,创始人曾在国外大学…...

如何使用python技术爬取下载百度文库文档?
使用 Python 爬取百度文库文档需要通过分析网页结构和接口请求来实现。以下是一个基于搜索结果的实现方法,适用于爬取百度文库中的文档内容: 第一部分:获取百度文库文档 实现步骤 获取文档 ID 和基本信息 通过文档的 URL 获取文档 ID&…...
navicat无法连接虚拟机的docker中的mysql
我的数据库安装在了虚拟机的docker中,启动MySQL后,在主机上使用navicat一直连接不上。 首先确认密码是否有问题: docker exec -it mysql8 bash #进入mysql容器 mysql -u root -p #登录MySQL,我这边密码是123456 密码没问题的话…...

如何使用CRM数据分析优化销售和客户关系?
嘿,大家好!你有没有想过为什么有些公司在市场上如鱼得水,而另一些却在苦苦挣扎?答案可能就藏在他们的销售策略和客户关系管理(CRM)系统里。今天我们要聊的就是如何通过有效的 CRM 数据分析来提升你的销售额…...

【Unity3D】3D物体摆放、场景优化案例Demo
目录 PlaceManager.cs(放置管理类) Ground.cs(地板类) 和 GroundData.cs(地板数据类) 额外知识点说明 1、MeshFilter和MeshRenderer的Bounds区别 2、Gizmos 绘制一个平行于斜面的立方体 通过网盘分享的文件:PlaceGameDemo2.unitypackage 链接: https://pan.baid…...
使用HTML5 Canvas 实现呼吸粒子球动画效果的原理
在网页开发领域,动画效果能够极大地提升用户体验,让页面变得更加生动有趣。今天,我们深入剖析一个基于 HTML5 Canvas 的 3D 粒子动画 —— 呼吸粒子球。通过详细解读其代码实现,我们将全面了解如何运用 HTML5 的强大功能构建出如此…...

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...