首頁  >  文章  >  專題  >  介紹在IIS上設定php伺服器

介紹在IIS上設定php伺服器

coldplay.xixi
coldplay.xixi轉載
2021-02-20 09:34:307124瀏覽

介紹在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,並進行下列修改:

##acc80a873886d8118be81a328be9ec64擴充插件的路徑

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

修改最後一行,填入自己真實的PHP解釋器位址,以及後面跟著ext資料夾,這個裡面放的都是插件

02c19efc427165ed68cf1c8002b238f4設定時區

[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

efbfa0de8737dc86eae413541a49df20 cgi相關設定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.net。如有侵權,請聯絡admin@php.cn刪除