【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服务器上的运行环境配置,实际可能会遇到各种各样的问题,也欢迎交流学习分享。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/488323.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SSM 校园一卡通密钥管理系统 PF 于校园图书借阅管理的安全保障

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装校园一卡通密钥管理系统软件来发挥其高效地信息处理的作用&a…

TCP 2

文章目录 Tcp状态三次握手四次挥手理解TIME WAIT状态 如上就是TCP连接管理部分 流量控制滑动窗口快重传 延迟应答原理 捎带应答总结TCP拥塞控制拥塞控制的策略 -- 每台识别主机拥塞的机器都要做 面向字节流和粘包问题tcp连接异常进程终止机器重启机器掉电/网线断开 Tcp状态 建…

【操作系统】实验二:观察Linux,使用proc文件系统

实验二 观察Linux&#xff0c;使用proc文件系统 实验目的&#xff1a;学习Linux内核、进程、存储和其他资源的一些重要特征。读/proc/stat文件&#xff0c;计算并显示系统CPU占用率和用户态CPU占用率。&#xff08;编写一个程序使用/proc机制获得以及修改机器的各种资源参数。…

【密码学】AES算法

一、AES算法介绍&#xff1a; AES&#xff08;Advanced Encryption Standard&#xff09;算法是一种广泛使用的对称密钥加密&#xff0c;由美国国家标准与技术研究院&#xff08;NIST&#xff09;于2001年发布。 AES是一种分组密码&#xff0c;支持128位、192位和256位三种不同…

【学习笔记】目前市面中手持激光雷达设备及参数汇总

手持激光雷达设备介绍 手持激光雷达设备是一种利用激光时间飞行原理来测量物体距离并构建三维模型的便携式高科技产品。它通过发射激光束并分析反射回来的激光信号&#xff0c;能够精确地获取物体的三维结构信息。这种设备以其高精度、适应各种光照环境的能力和便携性&#xf…

探索 LeNet-5:卷积神经网络的先驱与手写数字识别传奇

一、引言 在当今深度学习技术蓬勃发展的时代&#xff0c;各种复杂而强大的神经网络架构不断涌现&#xff0c;如 ResNet、VGG、Transformer 等&#xff0c;它们在图像识别、自然语言处理、语音识别等众多领域都取得了令人瞩目的成果。然而&#xff0c;当我们回顾深度学习的发展历…

【数据结构——栈与队列】链栈的基本运算(头歌实践教学平台习题)【合集】

目录&#x1f60b; 任务描述 相关知识 测试说明 我的通关代码: 测试结果&#xff1a; 任务描述 本关任务&#xff1a;编写一个程序实现链栈的基本运算。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 初始化栈、销毁栈、判断栈是否为空、进栈、出栈、取栈…

【笔记】架构上篇Day6 法则四:为什么要顺应技术的生命周期?

法则四&#xff1a;为什么要顺应技术的生命周期&#xff1f; 简介&#xff1a;包含模块一 架构师的六大生存法则-法则四&#xff1a;为什么要顺应技术的生命周期&#xff1f;&法则四&#xff1a;架构设计中怎么判断和利用技术趋势&#xff1f; 2024-08-29 17:30:07 你好&am…

Security自定义逻辑认证(极简案例)

项目结构 config SecurityConfig package com.wunaiieq.tmp2024121105.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.crypto.password.NoOpPasswordEnco…

docker安装ddns-go(外网连接局域网)

docker先下载镜像&#xff0c;目前最新版是v6.7.6 也可以csdn资源下载 再导入dockers https://download.csdn.net/download/u014756339/90096748 docker load -i ddns-go.tar 启动 docker run -d --name ddns-go --restartalways --nethost -v /opt/ddns-go:/root jeessy/…

技术速递|dotnet scaffold – .NET 的下一代内容创建

作者&#xff1a;Sayed Ibrahim Hashimi - 首席项目经理 排版&#xff1a;Alan Wang Visual Studio 中为 ASP.NET Core 项目搭建脚手架是一项长期特性&#xff0c;是在 ASP.NET Core 发布后不久添加的。多年来&#xff0c;我们一直支持从命令行搭建脚手架。根据从命令行操作中获…

基于ZYNQ 7z010开发板 oled点亮的实现

dc拉高的时候就是发送128字节数据的时候 发送指令dc拉低 模式是00 sck先置低再置高 复位是与开发板上的按键一样都是低有效 25位字节指令 加 3字节的 页地址加起始结束 b0,00,10, timescale 1ns / 1ps module top0(input wire clk ,input wire rst_n,// out…

使用torch模拟 BMM int8量化计算。

使用torch模型BMM int8计算。 模拟&#xff1a;BMM->softmax->BMM 计算流程 import torch import numpy as np torch.manual_seed(777) def int8_quantize_per_token(x: torch.Tensor, axis: int -1, attnsFalse):if x.dtype ! torch.float32:x x.type(torch.float32)…

【CSS in Depth 2 精译_070】11.3 利用 OKLCH 颜色值来处理 CSS 中的颜色问题(下):从页面其他颜色衍生出新颜色

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第四部分 视觉增强技术 ✔️【第 11 章 颜色与对比】 ✔️ 11.1 通过对比进行交流 11.1.1 模式的建立11.1.2 还原设计稿 11.2 颜色的定义 11.2.1 色域与色彩空间11.2.2 CSS 颜色表示法 11.2.2.1 RGB…

HTML:表格重点

用表格就用table caption为该表上部信息&#xff0c;用来说明表的作用 thead为表头主要信息&#xff0c;效果加粗 tbody为表格中的主体内容 tr是 table row 表格的行 td是table data th是table heading表格标题 &#xff0c;一般表格第一行的数据都是table heading

15.Java 网络编程(网络相关概念、InetAddress、NetworkInterface、TCP 网络通信、UDP 网络通信、超时中断)

一、网络相关概念 1、网络通信 网络通信指两台设备之间通过网络实现数据传输&#xff0c;将数据通过网络从一台设备传输到另一台设备 java.net 包下提供了一系列的类和接口用于完成网络通信 2、网络 两台以上设备通过一定物理设备连接构成网络&#xff0c;根据网络的覆盖范…

项目中使用AntV L7地图(五)添加飞线

项目中使用AntV L7地图&#xff0c;添加 飞线 文档地址&#xff1a;https://l7.antv.antgroup.com/zh/examples/line/animate/#trip_animate 一、初始化地图 使用的地图文件为四川地图JSON&#xff0c;下载地址:https://datav.aliyun.com/portal/school/atlas/area_selector#&…

MySQL-DQL之数据表操作

文章目录 零. 准备工作一. 简单查询1.查询所有的商品.2.查询商品名和商品价格.3.查询结果是表达式&#xff08;运算查询&#xff09;&#xff1a;将所有商品的价格10元进行显示. 二. 条件查询1. 比较查询2. 范围查询3. 逻辑查询4. 模糊查询5. 非空查询 三. 排序查询四. 聚合查询…

nacos bootstrap.yml 和 spring.config.import 加载配置的流程区别

相关依赖 springboot:2.7.15 nacos:2.2.3 bootstrap.yml加载方式 加载流程如下图所示 从图中可以看出,&#xff1a; 1.bootstrap.yml 的加载是在 BootstrapApplicationListener.onApplicationEvent 接收到 ApplicationEnvironmentPreparedEventEvent 事件后另起一个 Sprin…

Kubernetes Nginx-Ingress | 禁用HSTS/禁止重定向到https

目录 前言禁用HSTS禁止重定向到https关闭 HSTS 和设置 ssl-redirect 为 false 的区别 前言 客户请求经过ingress到服务后&#xff0c;默认加上了strict-transport-security&#xff0c;导致客户服务跨域请求失败&#xff0c;具体Response Headers信息如下&#xff1b; 分析 n…