推荐(免费):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'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'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中文网其他相关文章!

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

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

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

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

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

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

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

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


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

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

记事本++7.3.1
好用且免费的代码编辑器

WebStorm Mac版
好用的JavaScript开发工具

Dreamweaver Mac版
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)