首先我們去zend的官方網站去看看 http://www.zend.com/products/guard/downloads
可以明顯看出,ZendOptimizer只支持到 php 5.2版本,而最新的 php5.3 則不支持。如果我們需要使用php5.3,則可以使用ZendOptimizer的升級版本,即Zend Guard Loader.
需要注意的是:Zend Guard Loader支持的服務器系統如下。
Linux x86
Linux x86-64
Windows x86 2000 / XP / 2003 / Vista
Mac OS X 10.4
如果是windows 系統,暫時只能是32位的 2003/vista.至於32位的win7是否支持,我暫時沒有試過。
本文將詳細講解IIS 6.0+PHP 5.3.18 (因為是使用FastCgi模式,所以我們選擇VC9 x86 Non Thread Safe)+Mysql 5.5.20+Zend Guard Loader (Runtime for PHP 5.3)(即ZendOptimizer的升級版)+phpMyAdmin 3.4.9環境配置過程。操作系統以Windows.Server.2003為例,其他系統仍可以參考。
第一步,下載相關軟件
本次實例所使用的是系統是Windows.Server.2003 32位版本,因此以下軟件都是下載對應這個版本的,使用其他版本的windows系統的同學請自行下載相對應軟件。如鏈接失效,請直接在官方網站查找。
FastCGI 1.5 for IIS 6 and 5.1
官方下載網頁:http://www.iis.net/download/FastCGI
下載地址:http://go.microsoft.com/?linkid=9707432
如果是win7,或者是windows server 2008R2等更高級的系統,則不需要自己下載 FastCgi,具體的文章,可以看看我的win7 32位 fastcgi模式 運行php
PHP 5.3.18 VC9 x86 Non Thread Safe
官方下載網頁:http://windows.php.net/download/
下載地址:http://windows.php.net/downloads/releases/php-5.3.18-nts-win32-VC9-x86.msi
Mysql 5.5.20
官方下載網頁:http://dev.mysql.com/downloads/mysql/5.5.html
下載地址:http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-5.5/mysql-5.5.20-win32.msi
Zend Guard Loader (Runtime for PHP 5.3)
官方下載網頁:http://www.zend.com/products/guard/downloads
下載地址:http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-Windows.zip
phpMyAdmin 3.4.9
官方下載網頁:http://www.phpmyadmin.net/home_page/downloads.php
下載地址:http://nchc.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.4.9/phpMyAdmin-3.4.9-all-languages.7z
第二步,安裝配置軟件
1、安裝IIS
打開“控制面板”,進入“添加或刪除程序”,點擊“添加/刪除windows組件”,彈出“windows組件向導”對話框。雙擊“應用程序服務器”,再雙擊“Internet信息服務”,選中“萬維網服務”(注:此選項下還可進一步作選項篩選,請根據自己需要選用,如下圖所示),點確定即安裝完成。
2、安裝FastCGI 1.5 for IIS 6 and 5.1
IIS6里面沒有集成FastCGI,所以需要安裝這個才能跑起PHP。這個沒什么好說的,直接安裝,默認會更改系統的PHP環境,安裝完成后,打開IIS管理器,網站上點右鍵-屬性-主目錄-配置,如果有PHP選項就修改,沒有就添加配置如下圖
打開FASTCGI配置文件C:\WINDOWS\system32\inetsrv\fcgiext.ini,看最后有沒有下面這段,如果沒有就加上
[Types]
php=PHP
[PHP]
ExePath=D:\Program Files\Php\php-cgi.exe
如需IIS支持偽靜態,請查看《IIS6偽靜態配置(以實現wordpress固定鏈接/偽靜態為例講述)》
3、安裝配置PHP
PHP5.3有 VC9 版本和 VC6 版本,VC6 版本是使用 Visual Studio 6 編譯器編譯的,如果你的 PHP 是用 Apache 來架設的,那你就選擇 VC6 版本。VC9 版本是使用 Visual Studio 2008 編譯器編譯的,如果你的 PHP 是用 IIS 來架設的,那你就選擇 VC9 版本。
打開下載頁面,你還能看到有Thread Safe 和 Non Thread Safe 版本。
先從字面意思上理解,Thread Safe 是線程安全,執行時會進行線程(Thread)安全檢查,以防止有新要求就啟動新線程的 CGI 執行方式而耗盡系統資源。Non Thread Safe 是非線程安全,在執行時不進行線程(Thread)安全檢查。
再來看 PHP 的兩種執行方式:ISAPI 和 FastCGI。
ISAPI 執行方式是以 DLL 動態庫的形式使用,可以在被用戶請求后執行,在處理完一個用戶請求后不會馬上消失,所以需要進行線程安全檢查,這樣來提高程序的執行效率,所以如果是以 ISAPI 來執行 PHP,建議選擇 Thread Safe 版本;
而 FastCGI 執行方式是以單一線程來執行操作,所以不需要進行線程的安全檢查,除去線程安全檢查的防護反而可以提高執行效率,所以,如果是以 FastCGI 來執行 PHP,建議選擇 Non Thread Safe 版本。
這里我采用的是PHP 5.3.18 VC9 x86 Non Thread Safe,以 FastCGI 來執行 PHP。下載中間的安裝包,直接安裝
Installer下載地址
如果上面的這個地址打不開,可以訪問http://windows.php.net/downloads/releases/ 然后選擇合適的版本來下載.記得是要選擇 NTS版本的。(也就是適合FastCgi模式的Non Thread Safe版本)
選擇適合的安裝路徑,下一步選擇IIS FastCGI,如下圖。下一步,安裝完成。
安裝過程中選擇開啟哪些PHP擴展,自己決定。這些都可以在PHP.INI里開啟關閉的。
安裝后找到PHP安裝目錄下的PHP.INI文件,找到下面
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
; date.timezone =
更改為
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai
IIS上新建一網站,放入phpinfo.php文件,代碼為<?php phpinfo(); ?> 。至此,PHP服務端搭建基本完成,下面繼續講解MySQL+Zend Guard Loader(ZendOptimizer)+phpMyAdmin的配置。
4、安裝Mysql 5.5.20
下載安裝包,雙擊安裝,點下一步默認是Typical,建議改成Custom,因為Typical模式不允許改變安裝路徑,只能安裝在C盤。選中Custom選項。然后一直點下一步,選擇安裝的路徑,和安裝的組件,我這里都是默認選項,可以根據自己情況來選。一直到完成。到Finish的一步,上面有個選項,選上,這是進入配置MySQL的。
下面我們來看看配置選項,配置開始,選下一步,
選擇Detailed Configuration,如下圖
下一步,這個選項是選擇mysql應用於何種類型,第一種是開發服務器,將占用盡量少的內存,第二種是普通web服務器,將占用中等數量內存,最后一種是這台服務器上面只跑mysql數據庫,將占用全部的內存,這里選擇第二項,你可根據自己的需求,選擇其它選項。
下一步,這里是選擇數據庫用途,第一種是多功能用途,將把數據庫優化成很好的InnoDB存儲類型和高效率的MyISAM存儲類型,第二種是只用於事務處理類型,最好的優化InnoDB,但同時也支持MyISAM,最后一種是非事務處理類型,適合於簡單的應用,只有不支持事務處理的MyISAM類型是被支持的。一般選擇第一種多功能的。
下一步,這里是選擇InnoDB的數據存放位置,一般默認好了,不需要改動。
下一步,這里是選擇mysql允許的最大連接數,第一種是最大20個連接並發數,第二種是最大500個並發連接數,最后一種是自定義,你可以根據自己的需要選擇。這里我選擇第三項自定義,輸入20(你可以根據你的具體需求選擇或者輸入)。
下一步,這里是選擇數據庫監聽的端口,一般默認是3306,如果改成其它端口,以后連接數據庫的時候都要記住修改的端口,否則不能連接mysql數據庫,建議不作修改,用mysql的默認端口:3306。
將端口設置后面的“Add firewall exception for this port”勾選中,如果你開啟了Windows防火牆,將自動把這里設置的端口(3306)排除在外(允許連接網絡)(如果你沒有開啟Windows防火牆這里就不要勾選,Windows server 2003 正版默認是沒有開啟的)。
下面的Enable Strict Mode勾去掉,改為不選。
下一步設置mysql的默認編碼,默認是latin1,建議選擇第三項自定義,把它改成utf8。
點下一步,這一步把mysql設置成windows的服務,service name是命名MySQL的服務名稱,下面的launch the mysql server automatically勾選中表示,該服務為自動運行。這樣以后就可以通過windows服務啟動和關閉mysql數據庫了。然后把下面的Include Bin Directory in Windows PATH勾選中(這個表示自動修改環境變量,在PATH的值中增加../bin目錄)。
點下一步,這一步是設置mysql的超級用戶密碼,這個超級用戶非常重要,對mysql擁有全部的權限,設置的密碼一定要記好。在兩個輸入框中(New root password、Confirm)把要設置的密碼分別輸入兩次。出於安全考慮,一般不要選“Enable root access from remote machines”,允許數據庫外連是很危險的。“Create An Anonymous Account”是創建一個匿名帳號,這樣會導致未經授權的用戶非法訪問你的數據庫,有安全隱患,建議不要勾選。
再下一步,MySQL已配置完成,查看“控制面板”的“管理工具”中, “服務”是否有“MySQL”進程。
5、安裝Zend Guard Loader
由於ZendOptimizer不支持PHP5.3,使用PHP5.3以上版本的用戶就安裝Zend Guard Loader (Runtime for PHP 5.3)。很簡單解壓出ZendLoader.dll,放到PHP的ext目錄。我的是C:\Program Files\PHP\ext。然后修改php.ini,在文件末端添加以下代碼
[Zend.loader]
zend_extension=C:\Program Files\PHP\ext\ZendLoader.dll
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
注意:1、zend_extension的路徑不需要加引號!!
2、Zend Guard Loader支持的操作系統:
– Linux x86
– Linux x86-64
– Windows x86 2000 / XP / 2003 / Vista
– Mac OS X 10.4
這是部分童鞋按網上部分的教程操作之后,還是不生效的原因。
配置完成,打開剛剛的phpinfo.php文件,可以看到一段話“with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies”如圖所示。
6、安裝phpMyAdmin 3.4.9
官方下載網頁:http://www.phpmyadmin.net/home_page/downloads.php
下載地址:http://nchc.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.4.9/phpMyAdmin-3.4.9-all-languages.7z
下載程序,解壓,放到網站目錄下。啟動網站,可以直接打開連接數據庫了。phpMyAdmin 3不需要怎么配置。完美主義者就去谷歌一下吧。
如果運行 discuz的時候提示
Notice: Undefined index: fromuid in ·····index.php on line 120
Notice: Undefined index: fromuid in ·····index.php on line 122
首先,這個不是錯誤,是warning。所以如果服務器不能改,每個變量使用前應當先定義。
解決方法:服務器配置修改
修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE