推薦(免費):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,並進行下列修改:
##擴充插件的路徑; Directory in which the loadable extensions (modules) reside. ; http://php.net/extension-dir ; extension_dir = "./" ; On windows: extension_dir = "c:\PHP\ext"修改最後一行,填入自己真實的PHP解釋器位址,以及後面跟著ext資料夾,這個裡面放的都是插件
; 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。 設定時區
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Shanghai支援短標籤
; 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啟用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 = 1cgi相關設定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=1cgi相關設定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 = 0session儲存路徑
; 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"#資料庫mysql.default_port = 3306
mysql.default_host = localhost
mysql.default_user = root
; 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限定上傳檔案體積最大值
upload_max_filesize = 100M隱藏php版本把On改為Off,在header裡就不會顯示php版本
expose_php = Off
4、將php .ini放到系統目錄
配置完成之後,將php.ini拷貝一份放到c:\windows下。請注意,如果是win7使用的iis7已經不需要就這麼做了。
5、設定IIS(IIS預設已經安裝完畢,這裡不再介紹如何安裝IIS)
處理程序對應(HandlerMappings )注意:一開始可能沒有FastCgiModule這個模組。若要從開啟或關閉windows功能-web伺服器IIS-新增角色服務-勾選CGI進行安裝。
ISAPI與CGI限制
<?php phpinfo(); ?>###開啟網站## ####設定hosts指向,將剛才設定的網站網域指向127.0.0.1,像這樣:###
127.0.0.1 yourdomain.com###瀏覽器開啟yourdomain.com,可以看到成功解析了index.php文件,顯示的是php的相關資訊。 ###
有可能出现的错误:访问可能出现“FastCGI进程意外退出500错误”。默认已经有一个网站占用了所有端口,现在我们又添加一个网站可能导致冲突,把默认那个网站停止就可以了。
6、集成CodeIgniter框架
下载CodeIgniter
下载地址:http://codeigniter.org.cn/
整合CodeIgniter
解压之后,打开CodeIgniter文件夹,将里面的内容复制粘贴到站点的根目录,会提示是否替换掉原来的index.php文件,选择"是",这样框架就算整合完毕了
打开浏览器访问主页,看到的是CodeIgniter框架的提示信息!
添加favicon图标
每个page都会自动去加载favicon图标,因此应该在index.php目录下放置favicon.ico文件,不然都会报错,显示找不到图标。
7、有可能出现的问题
丢失 MSVCR110.dll
第一次访问php网站可能会出现“无法启动此程序,因为计算机中丢失 MSVCR110.dll”的错误,应该这样解决:
-打开微软下载页面:http://www.microsoft.com/zh-CN/download/details.aspx?id=30679
-点击下载
-选择相应的版本,64就选64,32就选32
-点击下载
-安装
完成之后网站就可以正常访问了。
唯一密钥属性“value”设置…无法添加类型为add
在web.config-files节点改为:
<files> <clear /> <add value="index.php" /> <add value="index.html" /> </files>
服务器部署中常见问题
服务器碰见了一些问题 ,一个就是上面说的value属性,value设置好之后就是cgi问题,没有权限之类的,把php引擎的文件夹设置everyone之后,发现cgi意外退出,直接打开cgi,发现原来是丢失 MSVCR110.dll,把丢失 MSVCR110.dll装上之后好了。
注意,因为把system和application文件夹移到web目录以外,但是程序在访问的时候仍然会访问到这两个文件夹,因此也要把这两个文件夹添加everyone。
升级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,下载安装就好了。
最便捷的解决方案
今天调试刚买的服务器,发现无论怎么弄都会报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 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

記事本++7.3.1
好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版