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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker安装RabbitMq详细教程

1.1通过Docker pull RabbitMq docker pull rabbitmq 1.2 获取镜像 docker images 注&#xff1a;执行1.3之前请使用以下命令创建docker网络 docker network create tm 1.3运行命令启动参数 docker run \-e RABBITMQ_DEFAULT_USERrabbitmq \-e RABBITMQ_DEFAULT_PASSrabbitm…

华为ENSP--IP编址及静态路由配置

项目拓扑 项目任务 一、基础配置和IP编址 在AR1、AR2、AR3上配置设备名称和IP地址 # AR1配置 [AR1]interface GigabitEthernet 0/0/0 [AR1-GigabitEthernet0/0/0]ip address 10.0.13.1 24 [AR1-GigabitEthernet0/0/0]q [AR1]interface GigabitEthernet 0/0/1 [AR1-GigabitEth…

老北京香酥芝麻饼

宝安石岩上屋大道有一家老北京香酥芝麻饼&#xff0c;不仅很好吃&#xff0c;还分量特别厚实。应该这家老店&#xff0c;在上屋大道很多人知道和吃过。我每周末都会去买回去给家人一起吃。工作日由于上下班&#xff0c;想买也买不了&#xff0c;因为太晚去老板就收摊了。就像早…

对于相对速度的重新理解 - 2

回到先前说的&#xff0c;先令真空光速为标准光速&#xff0c; 光子的绝对速度 范围&#xff0c; 物质粒子的 范围&#xff0c; 这样的话&#xff0c;我们就可以根据 和 &#xff0c;把速度分成3个段&#xff0c; 这样就可以出现速度和它的负值&#xff0c;也就是速度的矢量具…

GWO-SVMD分解 | Matlab实现GWO-SVMD灰狼算法优化逐次变分模态分解

GWO-SVMD分解 | Matlab实现GWO-SVMD灰狼算法优化逐次变分模态分解 目录 GWO-SVMD分解 | Matlab实现GWO-SVMD灰狼算法优化逐次变分模态分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 GWO-SVMD灰狼算法优化逐次变分模态分解 内有15种用以优化svmd的适应度函数&#…

初识Linux—— 基本指令(下)

前言&#xff1a; 本篇继续来学习Linux的基础指令&#xff0c;继续加油&#xff01;&#xff01;&#xff01; 本篇文章对于图片即内容详解&#xff0c;已同步到本人gitee&#xff1a;Linux学习: Linux学习与知识讲解 Linux指令 1、查看文件内容的指令 cat ​ cat 查看文件…

在SQLyog中导入和导出数据库

导入 假如我要导入一个xxx.sql&#xff0c;我就先创建一个叫做xxx的数据库。 然后右键点击导入、执行SQL脚本 选择要导入的数据库文件的位置&#xff0c;点击执行即可 注意&#xff1a; 导入之后记得刷新一下导出 选择你要导出的数据库 右键选择&#xff1a;备份/导出、…

如何进行高级红队测试:OpenAI的实践与方法

随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;AI模型的安全性和可靠性已经成为业界关注的核心问题之一。为了确保AI系统在实际应用中的安全性&#xff0c;红队测试作为一种有效的安全评估方法&#xff0c;得到了广泛应用。近日&#xff0c;OpenAI发布了两…

ES 基本使用与二次封装

概述 基本了解 Elasticsearch 是一个开源的分布式搜索和分析引擎&#xff0c;基于 Apache Lucene 构建。它提供了对海量数据的快速全文搜索、结构化搜索和分析功能&#xff0c;是目前流行的大数据处理工具之一。主要特点即高效搜索、分布式存储、拓展性强 核心功能 全文搜索:…

Java项目实战II基于SPringBoot的玩具销售商城管理系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着儿童娱乐与教育需求的…

Python安装出现严重错误的解决方法_0x80070643-安装时发生严重错误

使用这个软件MicrosoftProgram_Install_and_Uninstall.meta.diagcab把关于Python一个个组件全部删除&#xff0c;然后就能够重新安装Python了 修复阻止程序安装或删除的问题 - Microsoft 支持 这里下载

Java语言编程,通过阿里云mongo数据库监控实现数据库的连接池优化

一、背景 线上程序连接mongos超时&#xff0c;mongo监控显示连接数已使用100%。 java程序报错信息&#xff1a; org.mongodb.driver.connection: Closed connection [connectionId{localValue:1480}] to 192.168.10.16:3717 because there was a socket exception raised by…

微信小程序全局配置:导航栏、下拉刷新与上拉触底设置教程

微信小程序全局配置:导航栏、下拉刷新与上拉触底设置教程 引言 微信小程序作为一种新兴的轻量级应用,凭借其便捷性和丰富的功能受到了广泛的欢迎。在开发小程序的过程中,合理配置全局属性是提升用户体验的关键。本文将深入探讨小程序的全局配置中的window选项,重点介绍导…

YOLOv11融合[ECCV 2018]RCAN中的RCAB模块及相关改进思路

YOLOv11v10v8使用教程&#xff1a; YOLOv11入门到入土使用教程 YOLOv11改进汇总贴&#xff1a;YOLOv11及自研模型更新汇总 《Image Super-Resolution Using Very Deep Residual Channel Attention Networks》 一、 模块介绍 论文链接&#xff1a;https://arxiv.org/abs/1807…

linux ubuntu的脚本知

目录 一、变量的引用 二、判断指定的文件是否存在 三、判断目录是否存在 四、判断最近一次命令执行是否成功 五、一些比较符号 六、"文件"的读取和写入 七、echo打印输出 八、ubuntu切换到root用户 N、其它可以参考的网址 脚本功能强大&#xff0c;用起来也…

前端:JavaScript (学习笔记)【2】

目录 一&#xff0c;数组的使用 1&#xff0c;数组的创建 [ ] 2&#xff0c;数组的元素和长度 3&#xff0c;数组的遍历方式 4&#xff0c;数组的常用方法 二&#xff0c;JavaScript中的对象 1&#xff0c;常用对象 &#xff08;1&#xff09;String和java中的Stri…

【Git】工作区、暂存区和版本库

目录 一、基本概念&#xff1a; 关系图&#xff1a; 1. 工作区&#xff08;Working Directory&#xff09; $ 1.1 工作区功能 $ 1.2 工作区特点 2. 暂存区&#xff08;Staging Area&#xff09; $ 2.1 暂存区功能 $ 2.2 暂存区特点 $ 2.3 常用命令 3. 版本库&#xff08…

【Linux | 计网】TCP协议详解:从定义到连接管理机制

目录 1.TCP协议的定义&#xff1a; 2.TCP 协议段格式 3.TCP两种通信方式 4.确认应答(ACK)机制 解决“后发先至”问题 5.超时重传机制 那么, 超时的时间如何确定? 6.连接管理机制&#xff1a; 6.1.三次握手&#xff1a; 为什么需要3次握手&#xff0c;一次两次不行吗…

Springboot系列之:创建Springboot项目,Springboot整合MyBatis-plus

Springboot系列之&#xff1a;创建Springboot项目&#xff0c;Springboot整合MyBatis-plus 一、快速创建Spring boot项目二、项目完整目录三、pom.xml四、application.yaml五、实体类六、mapper七、IService接口八、Service实现类九、配置类十、枚举十一、增删改查测试类十二、…

java基础面试题笔记(基础篇)

网上始终找不到令自己满意的面试题&#xff0c;所以我打算自己整理面试题&#xff0c;从简单的到难的&#xff0c;尽量简单准确描述回答降低大家理解和背的难度&#xff0c;有错误或者有更好的回答请在评论回复我&#xff0c;感谢大家。 什么是java&#xff1f; 回答&#xff…