搜索
首页专题IIS介绍在IIS上配置php服务器

介绍在IIS上配置php服务器

Feb 20, 2021 am 09:34 AM
iis配置php

介绍在IIS上配置php服务器

推荐(免费):IIS

1、下载php解释器

地址为http://windows.php.net/download/

版本有两种,线程安全和非线程安全,线程安全是给apache用的,非线程安全是给iis用的,我们要配的是iis,所以下载非线程安全的,x86和x64看自己的机器是什么系统选择对应的版本下载就行了。

2、安装php解释器

php可以说不用安装的,只要将文件解压到c:\php(一般不放在系统盘,那么就放E:\PHP)文件夹,就算安装完成了。

3、配置php.ini

拷贝php.ini-development,改名为php.ini,并进行如下修改:

f35d6e602fd7d0f0edfa6f7d103c1b57扩展插件的路径

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
 extension_dir = "c:\PHP\ext"

修改最后一行,填入自己真实的PHP解释器地址,以及后面跟着ext文件夹,这个里面放的都是插件

2cc198a1d5eb0d3eb508d858c9f5cbdb设置要引入哪些插件

; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.
;
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_fileinfo.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_exif.dll      ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll

要引入的插件,只要把前面的分号去掉就可以了,我这里只引入了mysql、mysqli、mbstring。

5bdf4c78156c7953567bb5a0aef2fc53设置时区

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai

23889872c2e8594e0f446a471a78ec4c支持短标签

; This directive determines whether or not PHP will recognize code between
; <? and ?> tags as PHP source which should be processed as such. It is
; generally recommended that <?php and ?> should be used and that this feature
; should be disabled, as enabling it may result in issues when generating XML
; documents, however this remains supported for backward compatibility reasons.
; Note that this directive does not control the <?= shorthand tag, which can be
; used regardless of this directive.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag = On

43ad812d3a971134e40facaca816c822启用fastcgi

; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
; security tokens of the calling client.  This allows IIS to define the
; security context that the request runs under.  mod_fastcgi under Apache
; does not currently support this feature (03/17/2002)
; Set to 1 if running under IIS.  Default is zero.
; http://php.net/fastcgi.impersonate
fastcgi.impersonate = 1

efbfa0de8737dc86eae413541a49df20cgi相关设置pathinfo

; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP&#39;s
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1

40107655ec554331c1c6222ab67a141ccgi相关设置redirect

; cgi.force_redirect is necessary to provide security running PHP as a CGI under
; most web servers.  Left undefined, PHP turns this on by default.  You can
; turn it off here AT YOUR OWN RISK
; **You CAN safely turn this off for IIS, in fact, you MUST.**
; http://php.net/cgi.force-redirect
cgi.force_redirect = 0

37cd6113a8c348d99fa846f2c6fcea98session存储路径

; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process&#39;s umask.
; http://php.net/session.save-path
session.save_path = "d:\server\web\session"

c161494dba5e0dd0fb25d890c74e408d数据库

mysql.default_port = 3306
mysql.default_host = localhost
mysql.default_user = root

eebe431eeb58984ec8915354762c30c6输出缓存

; Note: This directive is hardcoded to Off for the CLI SAPI
; Default Value: Off
; Development Value: 4096
; Production Value: 4096
; http://php.net/output-buffering
output_buffering = On//这里应该是填一个值,比如4096

8494a7152f0ce9541779ac435cbe6aab限定上传文件体积最大值

upload_max_filesize = 100M

8141c42af04c24b6c356713ee262f06a隐藏php版本

把On改为Off,在header里就不会显示php版本

expose_php = Off

4、将php.ini放到系统目录

配置完成之后,将php.ini拷贝一份放到c:\windows下。注意,如果是win7使用的iis7已经不需要这么做了。

5、配置IIS(IIS默认已经安装完毕,此处不再介绍如何安装IIS)

f35d6e602fd7d0f0edfa6f7d103c1b57处理程序映射(HandlerMappings)

都点击确定之后,会弹出一个警告对话框,点击“是”就可以了。

注意:一开始可能没有FastCgiModule这个模块。要从打开或关闭windows功能-web服务器IIS-添加角色服务-勾选CGI进行安装。

2cc198a1d5eb0d3eb508d858c9f5cbdbISAPI和CGI限制

5bdf4c78156c7953567bb5a0aef2fc53添加站点

在某个路径下创建一个文件夹,在IIS中添加站点,将此文件夹作为站点添加进去

注意,添加站点之后,要对其添加everyone用户,给予全部权限。

23889872c2e8594e0f446a471a78ec4c设置站点默认页面

43ad812d3a971134e40facaca816c822添加默认页面

在网站的根目录创建一个名为index.php的文件,在内容中输入

<?php phpinfo(); ?>

efbfa0de8737dc86eae413541a49df20打开网站

配置hosts指向,将刚才配置的网站域名指向127.0.0.1,像这样:

127.0.0.1 yourdomain.com

浏览器打开yourdomain.com,可以看到成功解析了index.php文件,显示的是php的相关信息。

有可能出现的错误:访问可能出现“FastCGI进程意外退出500错误”。默认已经有一个网站占用了所有端口,现在我们又添加一个网站可能导致冲突,把默认那个网站停止就可以了。

6、集成CodeIgniter框架

f35d6e602fd7d0f0edfa6f7d103c1b57下载CodeIgniter

下载地址:http://codeigniter.org.cn/

2cc198a1d5eb0d3eb508d858c9f5cbdb整合CodeIgniter

解压之后,打开CodeIgniter文件夹,将里面的内容复制粘贴到站点的根目录,会提示是否替换掉原来的index.php文件,选择"是",这样框架就算整合完毕了

打开浏览器访问主页,看到的是CodeIgniter框架的提示信息!

5bdf4c78156c7953567bb5a0aef2fc53添加favicon图标

每个page都会自动去加载favicon图标,因此应该在index.php目录下放置favicon.ico文件,不然都会报错,显示找不到图标。

7、有可能出现的问题

f35d6e602fd7d0f0edfa6f7d103c1b57丢失 MSVCR110.dll

第一次访问php网站可能会出现“无法启动此程序,因为计算机中丢失 MSVCR110.dll”的错误,应该这样解决:

-打开微软下载页面:http://www.microsoft.com/zh-CN/download/details.aspx?id=30679

-点击下载

-选择相应的版本,64就选64,32就选32

-点击下载

-安装

完成之后网站就可以正常访问了。

2cc198a1d5eb0d3eb508d858c9f5cbdb唯一密钥属性“value”设置…无法添加类型为add

在web.config-files节点改为:

            <files>
 <clear />
                 <add value="index.php" />
 <add value="index.html" />
             </files>

5bdf4c78156c7953567bb5a0aef2fc53服务器部署中常见问题

服务器碰见了一些问题 ,一个就是上面说的value属性,value设置好之后就是cgi问题,没有权限之类的,把php引擎的文件夹设置everyone之后,发现cgi意外退出,直接打开cgi,发现原来是丢失 MSVCR110.dll,把丢失 MSVCR110.dll装上之后好了。

注意,因为把system和application文件夹移到web目录以外,但是程序在访问的时候仍然会访问到这两个文件夹,因此也要把这两个文件夹添加everyone。

23889872c2e8594e0f446a471a78ec4c升级php7遇到的问题

升级php7传说中性能可以提升很多倍。php5竟然是10多年前的产物...

配置php.ini没碰到什么问题,主要一个是mysql.dll的选项没了,配置数据库的port、username等都不是mysql而是mysqli,这些我就没弄了,在CI里面会有配置,应该没什么大问题。

开始运行,cgi异常。直接打开cgi发现报错:丢失VCRUNTIME140.dll。这个错误是因为最新版的php7(php7.1)需要安装Visual C++Redistributable 2015。

下载地址:https://www.microsoft.com/en-US/download/details.aspx?id=48145,下载安装就好了。

43ad812d3a971134e40facaca816c822最便捷的解决方案

今天调试刚买的服务器,发现无论怎么弄都会报FastCgi错误,错误代码是***0005,即5号代码的错误。怎么弄都不行,一度怀疑此云服务器的FastCgiModule被阉割了,不能正常运行。

直到找到了这样一个解决方案,https://php.iis.net,可以在线安装。踏破铁鞋无觅处,得来全不费功夫。

8、在本地配置https

本地测试为了可以跟线上一致,以https来测试,必须要配置ssl证书。

以上是介绍在IIS上配置php服务器的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:CSDN。如有侵权,请联系admin@php.cn删除
IIS和PHP:探索兼容性IIS和PHP:探索兼容性Apr 18, 2025 am 12:11 AM

IIS与PHP是兼容的,通过FastCGI模块实现。1.IIS通过FastCGI模块支持PHP,使PHP作为独立进程运行。2.配置IIS以运行PHP需要在配置文件中定义处理程序。3.基本用法包括启用FastCGI模块和设置PHP处理程序。4.高级用法可配置PHP环境变量和超时设置。5.常见错误包括版本不兼容和配置问题,可通过日志诊断。6.性能优化建议调整PHP进程池大小和启用OPcache。

IIS的持续相关性:为什么它持续存在IIS的持续相关性:为什么它持续存在Apr 17, 2025 am 12:01 AM

IIS在云原生和容器化时代依然相关,因为其多功能性、与现代技术的整合以及在性能优化和安全性方面的优势。1)IIS支持多种开发框架和现代Web功能。2)它可以与Azure、Docker等技术无缝整合。3)IIS通过各种技术提高性能和提供安全保障,适用于企业内部和外部网站的托管。

在IIS上运行PHP:实用教程在IIS上运行PHP:实用教程Apr 16, 2025 am 12:10 AM

在Windows服务器上运行PHP应用是可行的且实用。1)安装并配置IIS,2)集成PHP通过FastCGI,3)解决常见问题如MIME类型配置和扩展加载,4)优化性能使用OpCache和FastCGI设置,5)遵循PHP最佳实践如使用命名空间和PSR标准。

IIS的目的:服务和管理Web内容IIS的目的:服务和管理Web内容Apr 15, 2025 am 12:12 AM

IIS是微软开发的Web服务器软件,用于托管和管理网站。1)IIS可以处理静态和动态内容,2)提供与Windows无缝集成的管理工具,3)支持HTTP、FTP、SMTP等协议,4)提供SSL/TLS加密等安全功能,5)通过负载均衡、缓存等优化网站性能。

IIS中的II:现实世界中的示例和用例IIS中的II:现实世界中的示例和用例Apr 14, 2025 am 12:12 AM

IIS在现实世界中的应用包括企业内部门户网站、高流量电商网站和API网关。1)企业内部门户网站利用IIS的强大功能和与Windows系统的无缝集成,2)高流量电商网站通过配置负载均衡和使用ARR提升用户体验,3)IIS作为API网关通过URL重写和反向代理管理和保护API访问。

IIS和PHP:成功集成的步骤IIS和PHP:成功集成的步骤Apr 13, 2025 am 12:07 AM

IIS和PHP的整合可以通过以下步骤实现:1.安装PHP,2.在IIS中添加PHP处理程序,3.测试配置。整合后,IIS会将PHP文件请求传递给PHP解释器执行,并将结果返回给客户端,实现高效的Web服务。

在IIS上使用PHP:综合指南在IIS上使用PHP:综合指南Apr 12, 2025 am 12:19 AM

在IIS上配置和运行PHP应用需要以下步骤:1.安装IIS和PHP,确保启用IIS并下载PHP的ZIP文件。2.在IIS管理器中添加网站或应用程序,并配置处理程序映射到PHP可执行文件。3.使用简单的PHP脚本测试配置。4.通过检查日志文件和错误日志进行调试。5.优化性能,包括使用应用程序池和调整php.ini设置。

超越炒作:评估IIS的作用超越炒作:评估IIS的作用Apr 11, 2025 pm 12:25 PM

IIS在当今技术环境中仍然重要。1)IIS与Windows系统紧密集成,提供强大的管理和安全功能。2)它支持从简单网站托管到复杂的负载均衡和SSL管理的高级用法。3)通过优化和最佳实践,IIS在企业和个人应用中依然具有强大功能和稳定性。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)