Ⅰ 在iis中如何載入php網頁,使其能在瀏覽器中顯示網頁
是IIS7,還是IIS6,兩者機制不一樣。
IIS7自帶PHP,IIS6需要到www.php.net下載二進制包安裝
我們知道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。
Ⅱ win2008的IIS7+PHP5.3.8,速度奇慢,為什麼
方法/步驟
windows 2008升級PHP5.3後變慢原因
上面說到的程序有共同的特點,那麼便是要用到資料庫,很多PHP頁面實際上都是資料庫驅動的,要連接資料庫才能顯示出來,而響應時間過長的原因便在於PHP 5.3連接資料庫的方式有所改變。目前我們配置資料庫信息時都類似這樣的「$dbhost=『localhost』 」;這本身是沒有問題的,只是PHP 5.3會考慮是IPv4還是IPv6,面對localhost會猶豫,因此出現響應時間過長的情況。如果你查看過伺服器處理PHP的時間,你會發現處理PHP的時間很短,等待處理前的時間很長。目前這種響應時間過長的情況只出現在IIS 7及IIS 7.5升級PHP 5.3系列版本後,至於資料庫版本是多少沒多大影響。簡單普及一下知識,windows 2008分為32位和64位,自帶IIS 7,windows 2008 R2自帶IIS 7.5,R2版本的系統只有64位。如果你用的IIS 6或者Linux系統什麼的,目前還沒存在這樣的問題,主要是windows 2008系統。
恢復FastCgi高效運行PHP的簡單方法
下面的幾個方法實際上不是我自己琢磨出來的,而是在網上找到的答案,經過測試有效;另外,這些答案在IIS官網有相應的回復,回復的時間是2010年末,說明這樣的問題很早之前便出來,不過解決的方法確實很簡單。
方法一:上面已經說到,這是因為PHP 5.3在面對資料庫配置信息中的「localhost」會猶豫,因此直接把這個地址改名為「127.0.0.1」,這個IP是IPv4下面的本地網路地址,實際作用和「localhost」一樣,不過能明確告訴PHP這是IPv4網路。至於具體的修改流程,如果源程序是dedecms,就要用Dreamweaver之類的專業軟體編輯修改,否則保存後可能出錯。
至於別的程序,同樣修改資料庫配置文件即可,下面是一般的資料庫配置文件信息。
< ?php
//資料庫連接信息
$cfg_dbhost = 'localhost';修改此處的localhost為127.0.0.1
$cfg_dbname = 'fewfwefsdf';
$cfg_dbuser = 'fsdfsdf';
$cfg_dbpwd = 'fewffdsf';
$cfg_db_language = 'UTF-8'
? >
方法二:IIS 7及IIS 7.5是默認開啟IPv6組件的,現在不少國內大廠商同樣在部署IPv6;如果你的伺服器用不上IPv6網路,那麼直接把IPv6禁用即可,打開「%systemroot%\System32\drivers\etc\hosts」這個文件,注釋掉「::1 localhost」即可。
方法三:直接把PHP版本降級即可,保持在PHP 5.2.17版本,這是目前用得最多的版本,幾乎所有的PHP網站程序都可以運行在這個版本上。經測試,在PHP 5.2系列版本,IIS 7和IIS 7.5均能保證高效運行PHP網站程序。
其實,解決方法是很簡單的,只要一步即可完成,只是個中緣由,網站建設估計在你沒看到網友及IIS官網的解決方法之前,你同樣會各種糾結各種埋怨IIS的。不管是IIS 7,還是IIS 7.5,在運行PHP方面速度都有很大的提升,不用什麼問題都怪罪到IIS上,很多時候,只是我們對IIS的認識還不夠。
Ⅲ 伺服器php怎麼用iis7配置
方法一、安裝使用phpmanager
1.下載安裝phpmanager,
2.創建並配置php.ini。將php.ini-development文件改名為php.ini,修改date.timezone=」Asia/Shanghai」。去分號開啟所需的擴展,這里不贅述。
3.打開IIS7,在主面板中雙擊phpmanager,然後點擊其中的」Register new PHP Version」,選擇你的php-cgi.exe,確定。剩下其它的配置它將給你自動設置好。
4.完成!
方法二、手動配置cgi模式(php5.3)
1.創建並配置php.ini,同上2。
2.打開IIS7,在主面板中雙擊處理程序映射,然後在右側菜單中點擊「添加模塊映射…」,設置如下:
請求路徑:*.php;
模塊:FastCgiMole;
可執行文件:你php文件夾中的php-cgi.exe;
名稱:php;
3.完成!
方法三、手動配置isapi模式(php5.2)
1.創建php.ini。php.ini-dist改名為php.ini,打開找到extension_dir=」/」,把路徑改為你的php所在路徑。
2.添加一個應用程序池,設置如下:
名稱:php;
.net framework版本:無託管代碼;
託管管道模式:集成
勾選立即啟動應用程序池。
確定。
3.雙擊ispa和cgi限制。添加一個限制,設置如下:
ISAPI或CGI路徑: 你的php5isapi.dll。
描述:php。
勾選允許執行擴展路徑。
確定。
4.添加一個isapi篩選器,設置如下:
篩選器名稱:php;
可執行文件:你的php5isapi.dll文件;
確定。
5.添加腳本映射。 雙擊處理程序映射, 點擊右側菜單的「添加腳本映射…」,設置如下:
請求路徑:*.php;
可執行文件:你的php5isapi.dll文件;
名稱:php5;
確定。
6.完成!
Ⅳ php調試出錯,顯示Fatal error: Call to undefined function mysql_connect() in
php配置iis7的方式有兩種,ispi和cgi,但是php5.3已經不支持ispi了,只支持cgi,而採用php5.2配置iis7的時候會出現
找不到mysql資料庫不能用,是因為dll文件沒有載入,單擊php-cgi.exe,把確少的dll復制到system下,把php.ini復制到
windows目錄下,重啟伺服器,就好了。