最近開始搗鼓PHP,於是乎,先要配置好運行開發環境,鑒於現在系統是Vista,決定先在Vista上跑,有空再在虛擬機器裡面在裝個ubuntu來跑php。在Vista中配置這個環境可是搞了我一晚上啊,在這裡記下來以後備查,希望也能夠給大家帶來一絲協助,足矣。
Linux下的東西崇尚的是手工活,大多數都是文本操作,連配置都不例外。所以,在Linux下的整個安裝過程,需要用到很多的手工動作,極端的鍛煉大家的記憶力和打字速度,相較而言,在windows下就輕鬆了許多!言歸正傳,現在開始進行我們的安裝、配置過程。需要的軟體大家可以去相應軟體的首頁下載,都是開源的,所以,相信大家都能夠輕易找到,不行就google。
一、 安裝Apache 2.2.8
安裝之前將IIS停掉,因為Apache預設裝好之後佔用的是80連接埠,跟IIS會有衝突。
1. 雙擊apache2.2.8,開始安裝。
2. 安裝到填寫Server Information這一步,在Network Domain、Server Name中填寫相應的網域名稱或IP地址,比如:http://www.sina.com/,我這裡是本地的可以都填localhost,當然你填寫其它的也沒有什麼影響。在Administrator's Email Address下填入系統管理員的聯絡電子郵件地址,比如:webmaster@sina.com。
下面有兩個選擇,圖片上選擇的是為系統所有使用者安裝,使用預設的80連接埠,並作為系統服務自動啟動;另外一個是僅為目前使用者安裝,使用連接埠8080,手動啟動。建議選擇預設80連接埠,按“Next”繼續。
3. 選擇安裝類型,Typical為預設安裝,Custom為使用者自訂安裝,我們這裡選擇Custom,有更多可選項,按“Next”繼續。出現選擇安裝選項介面,左鍵點選“Apache HTTP Server 2.0.55”,選擇“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下屬子部分內容,全部安裝在本地硬碟上”。點選“Change...”,手動指定安裝目錄。我指定為是D:\Apache2.2。
4. 安裝完成,不出意外,這時右下角狀態列應該出現了一個羽毛綠色表徵圖,表示Apache服務已經開始運行。
5. 現在,我們來測試一下按預設配置啟動並執行網站介面,在IE地址欄輸入http://localhost/ 斷行符號,就可以看到一個頁面內容為:It works!,表示Apache伺服器已安裝成功。
6. 安裝完了建議先備份一下預設的設定檔,設定檔路徑:D:\Apache2.2\conf\httpd.conf,將這個設定檔httpd.conf複製一份並且改名為:httpd.conf.default。
接下來我們就可以開始配置Apache伺服器,使它更好的替我們服務。這裡建議更改三個地方:
第一個:更改Apache伺服器監聽的連接埠號碼,我建議改成81,這樣和IIS不衝突,當然你也可以讓他們兩個同時並存(方法很多,請google)。更改監聽連接埠號碼的方法:在設定檔httpd.conf裡面找到"Listen 80"改成"Listen 81"即可,非常簡單。
第二個:改變網站的預設根目錄路徑。其實如果不配置,你的安裝目錄下的htdocs檔案夾就是網站的預設根目錄,在裡面放入檔案就可以了。這裡我們還是介紹一下怎麼更改網站根目錄的配置。同樣,開啟httpd.conf檔案,尋找關鍵字“DocumentRoot”(也就是網站根目錄),將""內的地址改成你的網站根目錄,比如:"D:/PHPWeb",這裡要注意的是檔案路徑的“\”要改成“/”。再次尋找<Directory,將""內的地址改成跟DocumentRoot的一樣。
第三個:添加預設文件,找到以下這段
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
改成為:
<IfModule dir_module>
DirectoryIndex index.html index.html.var index.php index.htm
</IfModule>
至此,Apache伺服器配置完畢,切記,重啟Apache服務,才會生效新配置。我們再次在IE地址欄輸入http://localhost/ 斷行符號,測試組態是否成功。
二、 php5.2.6的安裝和配置
PHP的windows安裝方式有兩種,一種是windows下的msi安裝包,一種是windows下的壓縮包,安裝包是傻瓜式的,一路next加上簡單的設定就行了,壓縮包是純粹手動式的。現在的安裝包顯然已經做的非常好了,所以,這裡採用msi安裝包安裝。
安裝之前的工作就是下載安裝包,可是到了官網一看,下載的東西分類非常之多,第一次接觸的人恐怕眼都花了!這裡,我先解釋一下各個下載類別的含義(出自網路,整理了一下而已)。
下載目錄中有兩個大類:Complete Source Code和Windows Binaries,這兩個有什麼區別呢?
像PHP/MYSQL這類軟體的Complete Source Code/Windows Binaries分別是指原始碼和windows下的可執行檔,PHP/MYSQL都屬於“免費”軟體,提供原始碼,即所謂“Complete Source Code”,你可以在自己的機器上用“Complete Source Code”編譯成可執行版本。但是因為PHP/MYSQL最初都是基於LINUX 的,後來才移植到Windows下,所以一般只提供LINUX下的“Complete Source Code”,Windows下只提供最後編譯好的可執行檔,即“Windows Binaries”(這也是出於商業考慮,畢竟開發人員還是希望大家使用LINUX,與Windows競爭,現在提供Windows版本也是為了爭取廣大Windows的使用者使用PHP/MYSQL),但是,現在的最新版下載包中都提供了windows下的msi安裝包了。
PHP的下載的Windows版本的區別?
PHP 5.2.3 zip package 單純的php壓縮包
PHP 5.2.3 installer 安裝包
PECL 5.2.3 Win32 binaries php擴充外掛程式包
PHP 5.2.3 Non-thread-safe Win32 binaries 非安全執行緒的二進位包
PECL 5.2.3 Non-thread-safe Win32 binaries 非安全執行緒的php擴充
關於PECL擴充外掛程式的解釋:
擴充PHP有兩種方法:
一種是用純粹的PHP代碼寫函數和類,pear就是這樣一個項目,首頁是pear.php.net,在最新版的PHP中都已經整合了pear了。
另外一種是用c或者c++編寫外部模組載入至php中,pecl就是幹這個事的,首頁是pecl.php.net
這兩種方法其實都是為特定的應用提供現成的函數或者類,pdo,apc等都是pecl下的,pear的東西效率不怎麼樣。
我下載的是“php-5.2.6-win32-installer.msi”,一切準備就緒,我們開始安裝。
1. 安裝php5.2.6沒什麼好說的,一路next,我的安裝目錄為D:/PHP/。有兩個地方需要設定,一個是安裝過程中針對Web Server的選擇,這裡使用“apache 2.2.x module”模式,並且接著指定了apache2的安裝目錄。另外一個就是把PHP的所有安裝組件都選上,全部安裝。
2. 安裝完畢之後,上文提到的Apache的設定檔httpd.conf,這個檔案的末尾會被加上如下內容:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
ScriptAlias /php/ "D:/PHP/"
Action application/x-httpd-php "D:/PHP/php-cgi.exe"
PHPIniDir "D:/PHP/"
LoadModule php5_module "D:/PHP/php5apache2_2.dll"
PHPIniDir "D:/PHP/"
LoadModule php5_module "D:/PHP/php5apache2.dll"
PHPIniDir "D:/PHP/"
LoadModule php5_module "D:/PHP/php5apache.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
路徑會因為各人的安裝路徑不同而有差別。
重新啟動Apache服務,報錯“the requested operation has failed”,我們查看錯誤記錄檔“D:\Apache2.2\logs\error.log”,詳細錯誤資訊為:
Syntax error on line 491 of D:/Apache2.2/conf/httpd.conf:
Only first PHPINIDir directive honored per configuration tree - subsequent ones ignored
[Wed Jun 04 15:13:33 2008] [warn] (OS 995)由於線程退出或應用程式請求,已中止 I/O 操作。 : winnt_accept: Asynchronous AcceptEx failed.
是因為httpd.conf設定檔中PHPIniDir "D:/PHP/"出現了多次,所以,我們講上面提到的這個配置部分更改為:(紅色是變更的部分)
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
ScriptAlias /php/ "D:/PHP/"
Action application/x-httpd-php "D:/PHP/php-cgi.exe"
PHPIniDir "D:/PHP/"
LoadModule php5_module "D:/PHP/php5apache2_2.dll"
#PHPIniDir "D:/PHP/"
LoadModule php5_module "D:/PHP/php5apache2.dll"
#PHPIniDir "D:/PHP/"
LoadModule php5_module "D:/PHP/php5apache.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
重新啟動Apache服務,成功!
3. 接下來,我們來驗證一下在apache伺服器中,php是否正常運行。建立一個文字檔,輸入內容“<?php phpinfo(); ?>”,儲存,並且將檔案改名為“test.php”,放到網站根目錄(D:\Apache2.2\htdocs)下。在IE地址欄輸入:http://localhost:81/test.php斷行符號,這時候出現錯誤資訊:http 500。照舊,我們找到錯誤記錄檔,查看錯誤資訊:
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_oci8.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_pdo_oci.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_pdo_oci8.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_pdo_pgsql.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_pdo_sqlite_external.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_pgsql.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_pspell.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_sybase_ct.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_ibm_db2.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_ifx.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_ingres2.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_maxdb.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_mcve.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_netools.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_oracle.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_pdo_ibm.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\PHP\\ext\\php_pdo_informix.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
這是由於php啟動的時候載入了以上這些dll(php_oci8.dll、php_pdo_oci.dll等等),而這些dll具有外部依賴資訊,比如,php_oci8.dll依賴oracle8i的用戶端組件,詳細的依賴資訊大家可以參考“http://www.corephp.co.uk/archives/36-A-Guide-to-using-PHP-5-Extensions-on-Windows.html”。這是由於我們在安裝的時候,安裝了所有的組件引起的,那麼我們手動在php.ini檔案中將這些dll載入資訊注釋掉,來解決這個問題。
在php.ini檔案中,尋找“extension=php_oci8.dll”,找到之後,前面加上分號";"進行語句注釋,禁止載入這個dll,然後針對上面的錯誤資訊,將所有有問題的dll載入逐個注釋掉,工作量有點大,最後我會給出正確的最終的載入資訊。
接著在error.log繼續尋找錯誤資訊,找到如下錯誤:
Cannot find module (IP-MIB): At line 0 in (none)
Cannot find module (IF-MIB): At line 0 in (none)
Cannot find module (TCP-MIB): At line 0 in (none)
Cannot find module (UDP-MIB): At line 0 in (none)
Cannot find module (SNMPv2-MIB): At line 0 in (none)
Cannot find module (SNMPv2-SMI): At line 0 in (none)
Cannot find module (UCD-SNMP-MIB): At line 0 in (none)
Cannot find module (UCD-DEMO-MIB): At line 0 in (none)
Cannot find module (SNMP-TARGET-MIB): At line 0 in (none)
Cannot find module (SNMP-VIEW-BASED-ACM-MIB): At line 0 in (none)
Cannot find module (SNMP-COMMUNITY-MIB): At line 0 in (none)
Cannot find module (UCD-DLMOD-MIB): At line 0 in (none)
Cannot find module (SNMP-FRAMEWORK-MIB): At line 0 in (none)
Cannot find module (SNMP-MPD-MIB): At line 0 in (none)
Cannot find module (SNMP-USER-BASED-SM-MIB): At line 0 in (none)
Cannot find module (SNMP-NOTIFICATION-MIB): At line 0 in (none)
Cannot find module (SNMPv2-TM): At line 0 in (none)
解決方案:
在php.ini中,注釋掉“extension=php_snmp.dll”
重啟apache,測試網頁,仍然出現http 500錯誤,開啟error.log,找到錯誤資訊:
[Wed Jun 04 09:22:29 2008] [error] [client 127.0.0.1] PHP Warning: require_once(SAM/php_sam.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory in sam_factory on line 1
[Wed Jun 04 09:22:29 2008] [error] [client 127.0.0.1] PHP Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required 'SAM/php_sam.php' (include_path='.;C:\\php5\\pear') in sam_factory on line 1
解決方案:
在php.ini中,注釋掉“extension=php_sam.dll”
所有以上問題都是由於載入dll引起的,解決這些問題之後,重啟apache伺服器,再次測試網頁,一切正常,顯示apache伺服器的php配置資訊。
這個測試網頁是用的phpinfo()函數測試php功能是否正常的,但是,在後來安裝好phpmyadmin後,網頁根本無法顯示,同時發現其它的php web程式都無法正常運行。而且從error.log中也找不到任何錯誤資訊,在access.log檔案中也只是顯示這個資訊:127.0.0.1 - - [04/Jun/2008:17:50:54 +0800] "GET /phpMyAdmin HTTP/1.1" 301 239。在網上查了半天也沒有發現啥有價值的資訊。最後,發現是載入了太多的dll引起的這個問題。可能有些dll的依賴未能找到,但是又沒有拋出具體的錯誤資訊,導致很難分析錯誤情況。看來在安裝的時候安裝了所有的組件並不是一個好的建議,最終,我僅開啟了需要用到的dll載入,其它都屏蔽了。
最終的dll載入資訊如下:
[PHP_BZ2]
extension=php_bz2.dll
[PHP_CURL]
extension=php_curl.dll
[PHP_DBA]
;extension=php_dba.dll
[PHP_DBASE]
;extension=php_dbase.dll
[PHP_FDF]
;extension=php_fdf.dll
[PHP_GD2]
extension=php_gd2.dll
[PHP_GETTEXT]
;extension=php_gettext.dll
[PHP_GMP]
extension=php_gmp.dll
[PHP_IMAP]
;extension=php_imap.dll
[PHP_INTERBASE]
;extension=php_interbase.dll
[PHP_LDAP]
;extension=php_ldap.dll
[PHP_MBSTRING]
extension=php_mbstring.dll
[PHP_MCRYPT]
;extension=php_mcrypt.dll
[PHP_MHASH]
;extension=php_mhash.dll
[PHP_MIME_MAGIC]
;extension=php_mime_magic.dll
[PHP_MING]
;extension=php_ming.dll
[PHP_MSQL]
;extension=php_msql.dll
[PHP_MSSQL]
;extension=php_mssql.dll
[PHP_MYSQL]
extension=php_mysql.dll
[PHP_MYSQLI]
extension=php_mysqli.dll
[PHP_OCI8]
;extension=php_oci8.dll
[PHP_OPENSSL]
extension=php_openssl.dll
[PHP_PDO]
extension=php_pdo.dll
[PHP_PDO_FIREBIRD]
;extension=php_pdo_firebird.dll
[PHP_PDO_MSSQL]
extension=php_pdo_mssql.dll
[PHP_PDO_MYSQL]
extension=php_pdo_mysql.dll
[PHP_PDO_OCI]
;extension=php_pdo_oci.dll
[PHP_PDO_OCI8]
;extension=php_pdo_oci8.dll
[PHP_PDO_ODBC]
extension=php_pdo_odbc.dll
[PHP_PDO_PGSQL]
;extension=php_pdo_pgsql.dll
[PHP_PDO_SQLITE]
extension=php_pdo_sqlite.dll
[PHP_PDO_SQLITE_EXTERNAL]
;extension=php_pdo_sqlite_external.dll
[PHP_PGSQL]
;extension=php_pgsql.dll
[PHP_PSPELL]
;extension=php_pspell.dll
[PHP_SHMOP]
;extension=php_shmop.dll
[PHP_SNMP]
;extension=php_snmp.dll
[PHP_SOAP]
extension=php_soap.dll
[PHP_SOCKETS]
;extension=php_sockets.dll
[PHP_SQLITE]
extension=php_sqlite.dll
[PHP_SYBASE_CT]
;extension=php_sybase_ct.dll
[PHP_TIDY]
;extension=php_tidy.dll
[PHP_XMLRPC]
;extension=php_xmlrpc.dll
[PHP_XSL]
extension=php_xsl.dll
[PHP_ZIP]
extension=php_zip.dll
[PHP_ADT]
;extension=php_adt.dll
[PHP_AMF]
;extension=php_amf.dll
[PHP_BCOMPILER]
;extension=php_bcompiler.dll
[PHP_BITSET]
;extension=php_bitset.dll
[PHP_BLENC]
;extension=php_blenc.dll
[PHP_BZ2_FILTER]
;extension=php_bz2_filter.dll
[PHP_CLASSKIT]
;extension=php_classkit.dll
[PHP_CPDF]
;extension=php_cpdf.dll
[PHP_CRACK]
;extension=php_crack.dll
[PHP_CVSCLIENT]
;extension=php_cvsclient.dll
[PHP_DB]
;extension=php_db.dll
[PHP_DBX]
;extension=php_dbx.dll
[PHP_DIO]
;extension=php_dio.dll
[PHP_DOCBLOCK]
;extension=php_docblock.dll
[PHP_DOMXML]
;extension=php_domxml.dll
[PHP_DOUBLEMETAPHONE]
;extension=php_doublemetaphone.dll
[PHP_EVENT]
;extension=php_event.dll
[PHP_FILEINFO]
extension=php_fileinfo.dll
[PHP_FILEPRO]
extension=php_filepro.dll
[PHP_GOPHER]
extension=php_gopher.dll
[PHP_HARU]
;extension=php_haru.dll
[PHP_HTSCANNER]
;extension=php_htscanner.dll
[PHP_HTTP]
extension=php_http.dll
[PHP_HYPERWAVE]
;extension=php_hyperwave.dll
[PHP_IBM_DB2]
;extension=php_ibm_db2.dll
[PHP_ID3]
extension=php_id3.dll
[PHP_IFX]
;extension=php_ifx.dll
[PHP_IISFUNC]
extension=php_iisfunc.dll
[PHP_INGRES2]
;extension=php_ingres2.dll
[PHP_LZF]
;extension=php_lzf.dll
[PHP_MAILPARSE]
;extension=php_mailparse.dll
[PHP_MAXDB]
;extension=php_maxdb.dll
[PHP_MCRYPT_FILTER]
extension=php_mcrypt_filter.dll
[PHP_MCVE]
;extension=php_mcve.dll
[PHP_MEMCACHE]
;extension=php_memcache.dll
[PHP_NETOOLS]
;extension=php_netools.dll
[PHP_NTUSER]
;extension=php_ntuser.dll
[PHP_OGGVORBIS]
;extension=php_oggvorbis.dll
[PHP_OPERATOR]
;extension=php_operator.dll
[PHP_ORACLE]
;extension=php_oracle.dll
[PHP_PARSEKIT]
extension=php_parsekit.dll
[PHP_PDO_IBM]
;extension=php_pdo_ibm.dll
[PHP_PDO_INFORMIX]
;extension=php_pdo_informix.dll
[PHP_PDO_USER]
;extension=php_pdo_user.dll
[PHP_PHAR]
;extension=php_phar.dll
[PHP_PHPDOC]
;extension=php_phpdoc.dll
[PHP_POP3]
extension=php_pop3.dll
[PHP_PRINTER]
extension=php_printer.dll
[PHP_RADIUS]
;extension=php_radius.dll
[PHP_RAR]
extension=php_rar.dll
[PHP_RUNKIT]
extension=php_runkit.dll
[PHP_SAM]
;extension=php_sam.dll
[PHP_SDO]
;extension=php_sdo.dll
[PHP_SMTP]
extension=php_smtp.dll
[PHP_SPL_TYPES]
;extension=php_spl_types.dll
[PHP_SSH2]
;extension=php_ssh2.dll
[PHP_STATS]
;extension=php_stats.dll
[PHP_STEM]
;extension=php_stem.dll
[PHP_THREADS]
;extension=php_threads.dll
[PHP_TIMEZONEDB]
;extension=php_timezonedb.dll
[PHP_TRANSLIT]
;extension=php_translit.dll
[PHP_UPLOADPROGRESS]
;extension=php_uploadprogress.dll
[PHP_WIN32PS]
;extension=php_win32ps.dll
[PHP_WIN32SCHEDULER]
;extension=php_win32scheduler.dll
[PHP_WIN32SERVICE]
;extension=php_win32service.dll
[PHP_WIN32STD]
;extension=php_win32std.dll
[PHP_YAMI]
;extension=php_yami.dll
[PHP_ZLIB_FILTER]
;extension=php_zlib_filter.dll
[PHP_EXIF]
;extension=php_exif.dll
註:網上搜尋到的有些安裝教程中,要拷貝一些dll檔案到system32等系統檔案夾中去,在這個版本其實已經不需要了,因為安裝的時候已經把php的目錄註冊到系統變數中去了。
三、 mysql5安裝與配置
1. 安裝選用CUSTOM模式。選擇安裝的檔案夾。其他一路next;
2. 安裝完成之後,建立一個資料庫執行個體,開始菜單->mysql->mysql5->MySQL Server Instance Config Wizard,也很簡單,一路next,需要注意兩個地方,
第一、選擇字元集的時候,更改一下預設選項,最好選擇“Best Support For Multilinggualism”以支援各種語言,這個選項的字元集是“UTF8”。
第二、在配置windows service這一步時,勾上“Include Bin Directory in Windows PATH”選項,把mysql路徑註冊到系統變數中。
3. 測試mysql,開始菜單->mysql->mysql5->mysql command line client。提示輸入密碼,斷行符號,成功。
4. 更改php中對mysql的設定片段。開啟php目錄中的php.ini檔案(我這裡路徑是D:\PHP\php.ini)。尋找“[MySQL]”,
更改以下資訊:
mysql.default_host =localhost ;預設主控件為localhost
mysql.default_port =3306 ;mysql的連接埠號碼
mysql.default_user =root ;預設使用者設定為root
mysql.default_password =123 ;安裝mysql時設定的root密碼
儲存php.ini檔案,測試,ok。
四、 phpMyAdmin2.11.6安裝與配置
下載到phpMyAdmin2.11.6的壓縮包,解壓到網站根目錄下(我這裡是D:\Apache2.2\htdocs)的“phpMyAdmin”檔案夾,然後在“phpMyAdmin”中建立一個文字檔,輸入以下內容:
<?php
/* Servers configuration */
$i = 0;
/* Server localhost (http) [1] */
$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['auth_type'] = 'http';
/* End of servers configuration */
?>
儲存,並且將這個文字檔改名為:“config.inc.php”。開啟IE,輸入“http://localhost:81/phpMyAdmin”斷行符號,成功!