首頁 專題 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,並進行下列修改:

##< 1>擴充插件的路徑

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

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

<2> ;設定要引入哪些插件

; 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。

<3>設定時區

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

<4>支援短標籤

; 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
登入後複製

<5>啟用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
登入後複製

<6> 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
登入後複製

<7>cgi相關設定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
登入後複製

<8>session儲存路徑

; 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"
登入後複製

#<9>資料庫

mysql.default_port = 3306

mysql.default_host = localhost
mysql.default_user = root

<10>輸出快取

; 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
登入後複製

<11>限定上傳檔案體積最大值

upload_max_filesize = 100M
登入後複製

<12>隱藏php版本

把On改為Off,在header裡就不會顯示php版本

expose_php = Off
登入後複製

4、將php .ini放到系統目錄

配置完成之後,將php.ini拷貝一份放到c:\windows下。請注意,如果是win7使用的iis7已經

不需要就這麼做了。

5、設定IIS(IIS預設已經安裝完畢,這裡不再介紹如何安裝IIS)

<1>處理程序對應(HandlerMappings )

都點選確定之後,就會彈出一個警告對話框,點選「是」就可以了。

注意:一開始可能沒有FastCgiModule這個模組。若要從開啟或關閉windows功能-web伺服器IIS-新增角色服務-勾選CGI進行安裝。

<2>ISAPI與CGI限制

################################ <3>新增站點######在某個路徑下建立一個資料夾,在IIS中新增站點,將此資料夾作為站點新增至############################################## #######注意,在新增網站之後,要對其新增everyone用戶,給予全部權限。 ############<4>設定網站預設頁面############################## ###<5>新增預設頁面######在網站的根目錄建立一個名為index.php的文件,在內容中輸入###
<?php phpinfo(); ?>
登入後複製
###<6>開啟網站## ####設定hosts指向,將剛才設定的網站網域指向127.0.0.1,像這樣:###
127.0.0.1 yourdomain.com
登入後複製
###瀏覽器開啟yourdomain.com,可以看到成功解析了index.php文件,顯示的是php的相關資訊。 ###

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

6、集成CodeIgniter框架

<1>下载CodeIgniter

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

<2>整合CodeIgniter

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

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

<3>添加favicon图标

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

7、有可能出现的问题

<1>丢失 MSVCR110.dll

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

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

-点击下载

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

-点击下载

-安装

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

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

在web.config-files节点改为:

            <files>
 <clear />
                 <add value="index.php" />
 <add value="index.html" />
             </files>
登入後複製

<3>服务器部署中常见问题

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

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

<4>升级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,下载安装就好了。

<5>最便捷的解决方案

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

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

8、在本地配置https

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

以上是介紹在IIS上設定php伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1249
24
進程無法存取 Windows 11 / 10 上的檔案錯誤修復 進程無法存取 Windows 11 / 10 上的檔案錯誤修復 May 12, 2023 pm 07:10 PM

眾所周知,當任何檔案正在使用時,任何其他進程都無法存取/更改它。在這種情況下,當一個進程試圖開啟一個檔案時,作業系統會鎖定該檔案以防止它被另一個進程修改。 「該進程無法存取該文件,因為它正被另一個進程使用」是許多用戶在其Windows電腦上觀察到的此類錯誤訊息。已知此錯誤發生在不同版本的WindowsOS和WindowsServer中。通常,在使用者的WindowsPC上使用Netsh命令期間會觀察到此錯誤訊息。發生此錯誤的另一種情況是嘗試在Internet資訊服務(IIS)M

iis應用程式集區怎麼打開 iis應用程式集區怎麼打開 Apr 09, 2024 pm 07:48 PM

若要在IIS 中開啟應用程式集區:1. 開啟IIS 管理器;2. 導覽至"應用程式集區" 節點;3. 右鍵點選目標應用程式集區並選擇"管理";4. 點選"進階設定"選項卡;5. 應用程式集區配置可在此檢視和修改。

Windows安裝nginx1.10.1反向代理程式存取IIS網站的方法 Windows安裝nginx1.10.1反向代理程式存取IIS網站的方法 May 23, 2023 pm 05:40 PM

首先去官網下載軟體包,解壓,路徑最好不要有中文nginx配置的路徑問題由於在windows下文件路徑可以用”\”,也可以用”\\”,也可以用”/”作為路徑做分隔符。但”\”最容易引發問題,所以要盡量避免使用。不要加入path,否則會引發錯誤,config檔路徑找不到例如我解壓在e盤cmd指令定位到nginx.exe所在資料夾cde:\worksoftware\nginx-1.10.1然後執行,首先保證nginx.conf文件配置沒問題其實nginx最重要的和最主要的工作就是設定檔,其他沒什麼

html檔案怎麼產生網址 html檔案怎麼產生網址 Apr 21, 2024 pm 12:57 PM

若要將 HTML 檔案轉換為網址,需要使用網頁伺服器,包括以下步驟:取得網頁伺服器。設定網路伺服器。上傳 HTML 文件。建立域名。路由請求。

php站用iis亂碼apache沒事怎麼解決 php站用iis亂碼apache沒事怎麼解決 Mar 23, 2023 pm 02:48 PM

在使用 PHP 進行網站開發時,你可能會遇到字元編碼問題。特別是在使用不同的 Web 伺服器時,會發現 IIS 和 Apache 處理字元編碼的方法不同。當你使用 IIS 時,可能會發現在使用 UTF-8 編碼時出現了亂碼現象;而在使用 Apache 時,一切正常,沒有出現任何問題。這種情況該怎麼解決呢?

iis的日誌檔可以刪除嗎怎麼刪 iis的日誌檔可以刪除嗎怎麼刪 Apr 09, 2024 pm 07:45 PM

是的,可以刪除 IIS 日誌檔。刪除方法包括:透過 IIS 管理員選擇網站或應用程式池,然後在「日誌檔案」標籤中刪除對應日誌檔案。使用命令提示字元轉到日誌檔案儲存目錄(通常為 %SystemRoot%\System32\LogFiles\W3SVC1),並使用 del 命令刪除日誌檔案。使用第三方工具(例如 Log Parser)自動刪除日誌檔案。

iis無法啟動怎麼解決 iis無法啟動怎麼解決 Dec 06, 2023 pm 05:07 PM

iis無法啟動的解決方法:1、檢查系統檔案完整性;2、檢查連接埠佔用情況;3、啟動相關服務;4、重新安裝IIS;5、重設Windows系統;6、檢查元資料庫檔案;7、檢查檔案權限;8、更新作業系統和應用程式;9、避免安裝過多不必要的軟體;10、定期備份重要資料。詳細介紹:1、檢查系統檔案完整性,運行系統檔案檢查工具,檢查系統檔案的完整性等等。

iis無法啟動解決方法 iis無法啟動解決方法 Oct 24, 2023 pm 03:04 PM

解決方法:1、檢查IIS服務是否已安裝;2、檢查依賴服務;3、檢查連接埠衝突;4、檢查設定檔和權限;5、重新註冊IIS相關元件;6、檢查日誌檔。

See all articles