IIS7配置PHP環境完整教程

來源:互聯網
上載者:User

   我們知道php配置有幾種:

  1、CGI方式載入PHP環境,通常就是IIS裡面配置解譯器為php.exe,早期比較常見,目前使用較少。

  特點是:穩定,但效率太低。

  2、ISAPI方式載入PHP環境,通常就是IIS裡面配置解譯器為php5isapi.dll,目前使用最多,應用最廣。

  特點是:多線程,效率較高,但不夠穩定。

  3、FastCGI方式載入PHP環境,在IIS環境裡並不常見,但其它系統內容應用還是有的,不過IIS7.0開始內建FastCGI了。

  特點是:高效率,高穩定性,屬於將來發展趨勢。

  我試過其他的特別麻煩,PHP 5.3發布的Windows版已經不支援ISAPI模式了,所以我打算按微軟推薦的FastCGI方式運行PHP。

  我用的就第三種,也是最好最快的,因為FastCGI大大加強了IIS處理PHP的能力,能迅速提高PHP網站的反應速度和生產力,

  並具有更高的穩定性和安全性.

  下載地址:http://windows.php.net/download/

  裡面有好多種,要那種呢?

  PHP現在推出5.3.2版本了,不過下載的時候有幾個不同版本選擇。那就是VC6 X86和VC9 X86。 首先我來解答:

  VC6是什麼?

  VC6就是legacy Visual Studio 6 compiler,就是使用這個編譯器編譯的。

  VC9是什麼?

  VC9就是the Visual Studio 2008 compiler,就是用微軟的VS編輯器編譯的。

  那我們如何選擇下載哪個版本的PHP呢?

  如果你是在windows下使用Apache+PHP的,請選擇VC6版本;

  如果你是在windows下使用IIS+PHP的,請選擇VC9版本;

  那Non Thread Safe是什麼?

  Non Thread Safe就是非安全執行緒;

  Thread Safe 是什麼?

  Non Thread Safe 是安全執行緒;

  FastCGI執行方式是以單一線程來執行操作,所以不需要進行線程的安全檢查,除去安全執行緒檢查的防護反而可以提高執行效率,所以,如果是以 FastCGI(無論搭配 IIS 6 或 IIS 7)執行 PHP ,都建議下載、執行 non-thread safe 的 PHP (PHP 的二進位檔有兩種包裝方式:msi 、zip ,請下載 zip 套件)所以我們選擇NO-Thread Safe 版本的PHP來使用。

  而安全執行緒檢查正是為ISAPI方式的PHP準備的,因為有許多php模組都不是安全執行緒的,所以需要使用Thread Safe的PHP。

  下載安裝,我安裝預設路徑了:

  記得選中第三項:IIS FASTCGI

  如果沒有安裝IIS FASTCGI的 下一步會提示沒有安裝的,下載安裝就行了

  FastCGI for IIS 6 7 http://www.iis.net/expand/fastcgi

  安裝好後,繼續下一步,我按照預設了:

  安裝完畢後,就是配置了。

  這種配置有兩種方法,我用cmd配置,一條命令就行了。

  轉到剛才安裝CGI的目錄下:

  >cd C:WINDOWSsystem32inetsrv

  >cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:Program FilesPHPphp-cgi.exe"

  注意:path:"xxxxphp-cgi.exe” 是你安裝php的目錄

  > cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000

  > cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

  ok!完畢!

  測試下:

  建立一個.php檔案,裡面

  phpinfo();

  ?>

  儲存!

  運行,出現下面頁面,說明配置成功了!

  這樣的方法 IIS就不用怎麼配置,他都會自動設定好了!微軟提供的配置更加詳細 !

  如果按上面的教程配置好後,運行php測試頁面,出現了500錯誤。

  那就設定php.ini中的date.timezone項。

  我這裡設定成上海時區:date.timezone = Asia/Shanghai

  設定完後就一切正常了!

  在這裡會出現幾個問題的,需要注意一下:(我自己配置的時候遇到的問題)

  1.對於空機子的伺服器,一般沒有安裝別的什麼資料庫軟體的,所以大家運行一下C:Program FilesPHPphp-cgi.exe,是否會出現問題,然後解決問題。(用cmd試運行)

  運行C:Program FilesPHPphp-cgi.exe,如果能進入命令視窗並且只有游標,說明FastCGI能正常調用php-cgi,否則會提示錯誤,如圖

  2.運行測試頁面就顯示500錯誤(我自己遇到了問題,然後在網上找到瞭解決方法。)

  解決方案:

  開啟IE----INTERNET選項--------進階------------顯示友好的HTTP錯誤前面的勾去掉,再出現錯誤的時候會提示你錯誤的具體提示。

  提示:

  PHP Warning: Unknown: open(c:phpupload_tmpsess_li3ardp5qtalfj4, O_RDWR) failed: Permission denied (13) in Unknown on line 0 PHP Warning:

  Unknown: open(c:phpupload_tmpsess_li3ardbp5qtalfj4, O_RDWR) failed: Permission denied (13) in Unknown on line 0 PHP Warning: Unknown: Failed

  to write session data (files). Please verify that the current setting of session.save_path is correct (c:phpupload_tmp) in Unknown on line 0

  這說明我沒有給c:phpupload_tmp寫入許可權,給了.寫入許可權,解決!

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。