PHP开发环境配置:安装与配置Apache、PHP、MySQL、PhpMyAdmin
?
?
目標
ü??????? 在Windows上安裝與配置MySQL
ü??????? 在Windows上安裝與配置Apache
ü??????? 在Windows上安裝與配置PHP
?
一般情況下,使用PHP開發的Web網站是在Linux操作系統下運行的,它與在Linux上運行的Apache Web服務器、MySQL數據服務器構成了著名的“LAMP”技術(Linux、Apache、MySQL、PHP的首字母構成)。
LAMP一詞由Michael Kunze在1998年為德國一家計算機雜志編寫一篇關于自由軟件如何成為商業軟件替代品的文章時創造的。 (楊, 譚, & 于, 2008)
LAMP所代表的不僅僅是自由和開發,而且LAMP構成了強大的、高性能Web應用平臺,具有易于開發、更新速度快、安全性高、成本低的特點,因此被很多開發者視為“黃金組合”。當前,國內外最知名的三大BBS軟件提供商IPB、VBB、PHPBBS均基于LAMP平臺。在國內,據PHPCHINA資料統計,在中國排名前200名的網站中就61%采用了LAMP平臺。 (楊, 譚, & 于, 2008)
LAMP的迅速發展對于Java和.Net等商業軟件構成了嚴重的威脅。據美國互聯網市場調研機構NetCraft(www.netcraft.co.uk)發布的2008年1月份的網站統計數據表明,基于Linux的Apache依然是網站的第一選擇,市場份額為50.6%,而快速崛起的Web2.0網站,半數以上也都采用了LAMP技術。 (楊, 譚, & 于, 2008)
因此掌握LAMP是進行PHP Web開發和運營的基本前提。然而對于很多的PHP開發者來說,Windows似乎是一個更容易使用、也更愿意使用的操作系統,而且在Windows上開發的PHP程序可以略作修改或直接移植到Linux系統上去。因此作為純粹的PHP開發人員,Linux不是必須的(當然,如果想要作為產品運行,則還需要掌握如何在Linux上安裝部署系統),他們所需要的是如何在自己喜歡的Windows系統上安裝配置Apache、MySQL和PHP,我們稱之為WAMP。
在本章,我們將介紹如何在Windows上安裝配置Apache、MySQL和PHP。我們將在附錄中介紹有關LAMP的安裝配置。
1.1????? 安裝與配置Apache
Apache Web服務器雖然在近年的市場占有率有所下降(2005年11月時曾接近80%),但NetCraft發布的2010年三月的統計數據說明,Apache服務器仍然占第一位,有54%左右,比第二位的Microsoft IIS的24%左右高出近2倍。這意味著這個開源軟件將繼續成為互聯網上應用最廣泛的Web服務器。
1.1.1 Apache簡介
在Web服務器發展的初期,美國架構超級計算機應用中心(NCSA)在1995年創建了當時一流的Web服務器。然而,NCSA Web服務器的主要開發人員后來同時離開了NCSA,使得這個服務器項目就停頓下來。與此同時,那些使用NCSA Web服務器的人們開始交換他們用于該服務器的補丁程序,他們也很快認識到處理管理這些補丁程序的論壇的重要意義。就這樣,誕生了Apache Group。這以團體使用NCSA Web服務器的代碼,創建了稱為Apache的Web服務器軟件。Apache最初是從NCSA Web服務器內核代碼和一大堆補丁程序中衍生出來的。經過短短的幾年時間,Apache已經稱為使用最廣泛的Web服務器軟件,在服務器市場中占絕對優勢。
Apache是一個免費的軟件,用戶可以免費從Apache的官方網站下載。任何人都可以參加其組成部分的開發。Apache允許世界各地的人對其提供新特性。當新代碼提交到Apache Group后,Apache Group對其具體內容進行審查并測試和質量檢查。如果他們滿意,該代碼就會被集成到Apache的主要發行版本中。
Apache的其他主要特征有:
l???????? 支持最新的HTTP協議:是最先支持HTTP1.1的Web服務器之一,其與新的HTTP協議完全兼容,同時與HTTP1.0、HTTP1.1向后兼容。Apache還為支持新協議做好了準備。
l???????? 簡單而強大的基于文件的配置:該服務器沒有為管理員提供圖形用戶界面,提供了一個簡單但是功能異常強大的配置文件。用戶可以根據需要用這個文件隨心所欲的完成自己希望的Apache配置。
l???????? 支持通用網關接口(CGI):采用mod_cgi模塊支持CGI。Apache支持CGI/1.1標準,并且提供了一些擴充。
l???????? 支持虛擬主機:是首批既支持IP虛擬主機又支持命名虛擬主機的Web服務器之一。
l???????? 支持HTTP認證:支持基于Web的基本認證。它還有望支持基于消息摘要的認證機制。
l???????? 內部集成Perl:Perl是CGI腳本編程的事實標準。Apache對Perl提供了良好的支持,通過使用其mod_perl模塊,還可以將Perl的腳本裝入內存。
l???????? 集成代理服務器:用戶還可以選擇Apache作為代理服務器。
l???????? 支持SSL:由于版本法和美國法律在進出口方面的限制,Apache本身不支持SSL。但用戶可以通過安裝Apache的補丁程序集合(Apache-SSL)使得Apache支持SSL。
l???????? 支持HTTP Cookie:通過支持Cookie,可以對用戶瀏覽Web站點進行跟蹤。
Apache可以到官方網站下載Apache的最新安裝程序。
1.1.2 安裝Apache
Windows下安裝Apache與安裝其他Windows程序并無二致,其安裝過程簡要說明如下:
(1)?? 雙擊Apache安裝文件,啟動安裝程序。
(2)?? 進行安裝時,首先看到一個歡迎界面,然后單擊下一步。
(3)?? 接下來會顯示一個許可協議。如果你同意許可條款,單擊下一步。
(4)?? 接下來看到對話框中將包含與Apache服務器有關的各項內容。閱讀后單擊下一步。
(5)?? 下面需要提供與服務器操作有關的一些內容,包括網絡域、服務器名和管理的EMAIL地址。如果你知道這些信息,就可以填入,否則,前兩項只需輸入localhost,最后一項可以填入一個任意的EMAIL地址。以后可以在httpd.conf文件中修改這些信息。另外還會提示你確定Apache要作為面向所有用戶的服務運行還是只用于當前用戶。如果你希望Apache自動與操作系統一起啟動(這也是推進的做法),可以選擇Apache安裝為面向所有用戶的服務。完成設置后,單擊下一步。
(6)?? 接下來會提選擇安裝類型:典型安裝(Typical)或是定制安裝(Custom)。除非有特殊的原因你不想安裝Apache文檔,否則請選擇典型安裝,然后單擊“下一步”。如果不安裝文檔,可以選擇定制安裝,單擊“下一步”,否則請選擇典型安裝,在下一個屏幕中將Apache Documentation選項取消。
(7)?? 下面將提示你選擇目標文件夾。默認目標文件夾為C:/Program Files/Apache Group。你可以選擇你自己想要安裝的目錄。不論你選擇哪個目錄,要記住。
(8)?? 單擊“安裝”完成安裝。這就是安裝Apache的全過程。
1.1.3 配置Apache
Apache Web服務器的主要配置文件為httpd.conf,在安裝目錄的conf目錄下。下面簡要介紹一些常用的配置參數。
(1)?????? ServerRoot指令
用來設置服務器目錄的絕對路徑,它通知服務器到哪個位置查找所有的資源和配置文件。在配置文件中指定的資源,有許多是相對于ServerRoot目錄的。在Windows下,ServerRoot就是安裝目。
(2)?????? Port指令
指定服務器運行在哪個端口上。默認為80,這是標準的HTTP端口號。用戶在某些特定情況下可能要讓服務器運行在另外的端口上,例如當用戶想要運行一個測試服務器而不希望其他人知道時,或者80端口已經被其他程序占用了(如IIS),這時候可以指定服務器偵聽非80端口。在Windows版本上用Listen指令完成該配置。修改httpd.conf里面關于Listen的選項,例如:
Listen 8000指令就是使Apache監聽8000端口。而如果要同時指定監聽端口和監聽地址,可以使用:
?????????????????? Listen 192.168.20.10:80
(3)?????? ServerName指令
用來設置服務器將返回的主機名,它應該被設置為一個完全限定的域名。例如,將它設置為www.yourserver.com而不是簡單的www。如果服務器通過Internet訪問而不是僅僅在局域網中訪問,該設置尤為重要。如果你自己沒有域名或只在局域網內使用,你可以將它設置為自己的ip地址。
(4)?????? DocumentRoot指令
設置為文檔目錄的絕對路徑,該路徑是Apache提供文件的頂級目錄,也就是網頁存放的目錄。在默認情況下,它被設置為安裝目錄下的htdocs目錄。例如,如果設置DocumentRoot為D:/htdocs,那么當訪問http://localhost/index.html時實際就是訪問D:/htdocs目錄下的index.html文件。需要注意的是Windows路徑中的“/”該為“/”。
(5)?????? DirectoryIndex指令
指明作為目錄索引的文件名,例如,當請求的URL為http://www.server.com/Directory/時,指明哪個文件作為目錄的索引,即默認訪問的文件。通常在這里放入許多文件名非常有用,這樣當index.html(默認值)找不到時,可以使用另一個文件替換。該指令最有用的應用是在目錄中有一個CGI程序運行,作為默認的動作。
其他的一些指令用作服務器的性能調整等作用,需要的時候可以查詢Apache文檔。
除了上述的幾個指令外,還需要了解如何進行訪問控制。要配置默認可以使用的選項,需要使用Options指令。
例如,在httpd.conf文件中,可以見到如下清單:
#
# Aliases: Add here as many aliases as you need(with no limit). The format
# is Alias fakename realname
#
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL. So “/icons” isn’t aliased in this
# example, only “/icons/”. If the fakename is slash-terminated, then the
# realname must also be slash terminated, and if the fakename omits the
# trailing slash, the realname must also omit it.
#
# We include the /icons/ alias for FancyIndexed directory listings. If you
# do not use FancyIndexing, you may comment this out.
#
Alias /icons/ “/var/www/icons/”
<Directory “/var/www/icons”>
???????? Options Indexes MultiViews
???????? AllowOverride None
???????? Order allow, deny
???????? Allow from all
</Directory>
1.?????? Options指令
Options可以為None、All或者任何Indexes、Includes、FollowSymLinks、ExecCGI或者MultiViews的組合。MultiViews不包含在All中,必須顯示指定。這些選項解釋如下。
None:該目錄沒有啟用任何可用的選項。
All:該目錄啟用了所有選項,除了MultiViews。
Indexes:當Index.html文件或者另一個DirectoryIndex文件不存在時,目錄中的文件列表將作為HTML頁產生,顯示給用戶。
Includes:該目錄允許服務器側包含(SSI)。如果允許包含但是不允許在包含中有exec選項,則可以寫為IncludesNoExec。基于安全的原因,對于沒有安全控制權限的目錄,如UserDir目錄,該選項是一個很好的主意。
FollowSymLinks:允許訪問符號鏈接到文檔目錄的目錄。這種方法不好,不要將整個服務器全部設置為該選項。對某個目錄可以這樣設置,但是在僅當有足夠的理由時才這樣設置。該選項是一個潛在的安全隱患,因為允許Web用戶跳出文檔目錄以外,并且可能潛在地允許用戶訪問文件系統的分區,而這些地方時不希望其他人訪問的。
ExecCGI:即使該目錄不是ScriptAlias化的目錄,也在其中允許CGI程序。
MultiViews:該選項是mod_negotiation模塊的一部分。當客戶請求的文檔沒有找到時,服務器試圖計算最適合客戶請求的文檔。
2.?????? AllowOverrides指令
AllowOverrides指令指定.htaccess文件可以覆蓋的選項。可以對每個目錄進行設置。例如,可以對主要文檔root和UserDir目錄的覆蓋有不同的標準。該功能對于用戶目錄特別有用,在這些目錄中用戶沒有訪問服務器配置文件的權限。
AllowOverrides可以設置為All或者Options.htaccess、FileInfo.htaccess、AuthConfig.htaccess以及Limit.htaccess選項的組合這些選項含義如下。
All:表示不讀取.htaccess文件配置內容。
Options.htaccess:文件可以為該目錄添加沒有在Options指令中列出的選項。
FileInfo.htaccess:文件包含修改文檔類型信息的指令。
AuthConfig.htaccess:文件可能包含驗證指令。
Limit.htaccess:文件可能包含allow、deny、order指令。
3.?????? order指令
Order只能設置為Order allow, deny或Orderdeny,allow,表明用戶是先設置允許的訪問地址還是先設置禁止訪問的地址。
4.?????? allow指令
指明允許訪問的地址或地址序列。如allow from all指令表明允許所有IP來的訪問請求。
5.?????? deny指令
指明禁止訪問的地址或地址序列。如deny from all指令表明禁止所有IP來的訪問請求。
1.2????? 安裝與配置PHP
PHP當前的版本是5.3.2,即將發布的版本是6.0。我們以當前穩定版本5.3為基礎介紹PHP。
1.2.1? 下載PHP
PHP原本是在Linux下開發的,直到現在也任然是以源代碼的形式發布,下載編譯后配置運行。在Windows下你也可以這么做。但是更好的辦法是去下載已近編譯好的二進制包,下載地址為:http://windows.php.net/download/。PHP for Windows的二進制包有2種,是因不同編譯器而產生的2中包。
l???????? VC9 X86版本。這個版本是由Visual Studio 2008編譯器編譯的,并且在運行時要求實現安裝了Microsoft 2008 C++ Runtime (x86) 。VC9版本適合于與IIS一起使用。
l???????? VC6 X86版本。這個版本由傳統的Visual Studio 6編譯器編譯。如果你的web服務器為Apache1或Apache2,你應該選擇VC6版本。在本書中,我們使用Apache2.2,我們選擇下載VC6 版本。
每個版本又分為線程安全(Thread safe)和非線程安全(NoneThread safe),我們選擇線程安全版本。每個版本又分為解壓縮版和msi安裝版。這兩種版本區別不大,都需要做手工配置。我們選擇解壓版。
1.2.2? 安裝PHP
我們下載的是VC6 線程安全的解壓縮版本(php-5.x.x-Win32-VC6-x86.zip,x為某一子版本)。使用解壓縮工具如winzip或winrar將此文件解壓縮到你想安裝PHP的目錄,比如D:/PHP5。解壓版的安裝就此結束。
MSI安裝版安裝也比較簡單,按照界面提示安裝即可。
1.2.3? 配置PHP
PHP的運行需要和Web服務的支持,故對PHP的配置同時需要配置Web服務器。本書中我們是Apache,需要對Apache的配置文件httpd.conf進行配置。
(1)?????? 配置Apache的httpd.conf。
l???????? PHP的在Apache下有三種運行方式,分別是作為Apache模塊運行、作為CGI模式運行以及作為FastCGI模式運行。FastCGI模式作為正式運行時比較合適,在開發模式下,我們一般選用Apache模塊方式。將PHP作為Apache模塊運行,需要對Apache做如下配置:
#php Moudule handler configure
LoadModule php5_module "d:/php5/php5apache2_2.dll"
AddHandler application/x-httpd-php .php
?
# configure the path to php.ini
PHPIniDir "d:/php5"
l???????? 上面的配置將使PHP處理任何以.php為擴展名的文件,即使這個文件還有其他的擴展名。比如文件名為my.php.txt也會被PHP模塊處理。為了保證只有以.php結尾的文件被執行,還需要如下的配置;
<FilesMatch /.php$>
????? SetHandler application/x-httpd-php
</FilesMatch>
l???????? 修改DocumentRoot為你放置php頁面的目錄。當然你也可以配置虛擬目錄和虛擬主機。我了方便起見我們直接選擇修改DocumentRoot。假如你的php文件放在D:/php5_Doc下,則:
DocumentRoot ?"D:/ php5_Doc"
l???????? 修改訪問權限。在Directory指令下,修改默認路徑,即<Directory? />下的內容。將“Deny from all”修改為“Allow from all”。
同時要修改D:/php5_Doc的房屋權限,相應的配置如下:
<Directory "D:/ php5_Doc">
??? Options Indexes FollowSymLinks
??? AllowOverride None???
??? Order allow,deny
??? Allow from all
</Directory>
l???????? 添加默認文件。將index.php添加到<IfModule dir_module>指令下。如:
<IfModule dir_module>
??? DirectoryIndex index.php index.html index.htm
</IfModule>
(2)?????? 配置PHP的php.ini
在安裝目錄下,有php.ini-development和php.ini-production文件,可以以這兩個文件為基礎,使他們分別作為開發和產品階段的配置文件。現在我們主要用來開發,我們把php.ini-development修改為php.ini,并做如下配置:
l???????? doc_root選項。在php.ini文件中找到doc_root,將其修改為放置php的目錄,要和Apache中的DocumentRoot一致。即:doc_root ="D:/ php5_Doc"。
l???????? extension_dir選項。此選項用于說明php擴展功能(比如數據庫擴展)文件的目錄。這些擴展功能將在需要時動態加載。在PHP的安裝部分,我們把PHP安裝在D:/PHP5,則:
???? extension_dir = "D:/php5/ext"
l???????? 選擇動態擴展項。在“Dynamic Extensions”配置小節中,可以根據我們的實際需要選擇擴展功能。在本講義中我們需要用到MySQL,我們需要選擇MySQL的擴展。MySQL有2個擴展項,如果使用較新的MySQL5版本,我們選擇php_mysqli.dll,如果是以前的版本這選擇php_mysql.dll。選擇擴展比較簡單,將每行的第一個字符“;”去掉即可。其他的擴展可按實際需要選擇。
1.2.4測試PHP的安裝
如果MySQL還沒有安裝,我們現在把MySQL擴展注釋掉(即添加“;”進行注釋)。
在PHP的文檔目錄下(D:/ php5_Doc),創建一個測試文件(test.php),其主要內容如下:
<?php
? phpinfo();
?>
接下來就該運行test.php來測試PHP安裝的正確性了。
首先啟動Apache,如果配置上有一些影響Apache啟動的錯誤,則Apache不啟動。
然后在瀏覽器地址欄輸入: http://localhost:88/test.php。(端口88看Apache的實際配置情況。)
如能顯示如圖1.1所示內容,則表示配置正確,否則還有其他一些配置問題。
?
圖1.1 phpinfo顯示
1.3 安裝與配置MySQL
MySQL是一個快速而有健壯的關系數據庫系統(RDBMS)。一個數據庫將允許高效的存儲、搜索、排序和檢索數據。MySQL服務器將控制對數據的訪問,從而確保多個用戶可以并發的使用它,同時提供了快速訪問并且確保只有通過驗證的用戶才能獲得數據訪問。因此,MySQL是一個多用戶、多線程的服務器。它使用了結構化查詢語言(SQL),這是全球通用的標準數據庫查詢語言。MySQL是在1996發布的,但是其開發歷史可以追溯到1979年。它是世界上最受歡迎的開源數據庫之一 (Welling & Thomson, 2009)。
PHP和MySQL能在所有主流的操作系統和許多非主流系統中運行,而且它們有低成本、高性能與可擴展性高、易學習等優點,符合現在“綠色”“低碳”的觀念,受到了廣大開發者和使用者的喜愛。
1.3.1 安裝MySQL
由于MySQL是開源軟件,獲取這個軟件很簡單,只需訪問MySQL網站下載一個副本就行了。在本書中,我們介紹在Windows上MySQL版本。各個Linux版本一般都有自己對應的MySQL版本,安裝也不復雜,相關內容請參考相應資料。
可用于Windows平臺有以下三種版本:
????????? 基本。包含在Windows中有效運行MySQL所需的所有特性,但不包括可選組件,如基準測試工具。
????????? 完整。包含在Windows中有效運行MySQL所需的所有特性,也包括各個可選組件。
????????? 無安裝程序。包含完整包中的所有特性,但沒安裝程序,解壓即可。
一般情況下我們下載基本包或者完整包,這兩個版本都有Windows安裝程序,安裝過程中會提示你選擇各種配置信息。而無安裝版,解壓完后還需要編輯配置文件,一般推薦有經驗的人使用。
與許多Windows程序一樣,MySQL提供了一個方便的GUI安裝程序來安裝二進制包。過程如下。
(1)雙擊msi安裝包啟動安裝過程。
(2)選擇安裝類型,有“Typical(默認)”、“Complete(完全)”、“Custom(用戶自定義)”三個選項,我們選擇“Custom”,有更多的選項,也方便熟悉安裝過程,如圖1.1。
?
圖 1.1 選擇安裝類型
(3)接受或修改安裝目錄。默認目錄為C:/Program Files/MySQL/MySQL Server 5.1,可以修改此默認目錄,如圖1.2。在接下來的窗口中,單擊OK或Next,然后單擊下一個窗口中的Install。
?
圖 1.2 選擇安裝目錄
(4)等待安裝結束,直到出現下面的界面,如圖1.3,這里是詢問你是否要注冊一個mysql.com的賬號,一般不需要了,點選“Skip Sign-Up”,按“Next”略過此步驟。
?
圖1.3 注冊MySQL用戶
(5)mysql配置向導,不用像以前一樣,自己手動亂七八糟的配置my.ini了,將 “Configure the Mysql Server now”前面的勾打上,點“Finish”結束軟件的安裝并啟動mysql配置向導,如圖1.4。
?
圖1.4 啟動配置
(6)選擇配置方式,“Detailed Configuration(手動精確配置)”、“Standard Configuration(標準配置)”,我們選擇“Detailed Configuration”,方便熟悉配置過程。圖1.5。
?
圖1.5 選擇配置方式
(7)選擇服務器類型,“Developer Machine(開發測試類,mysql占用很少資源)”、“Server Machine(服務器類型,mysql占用較多資源)”、“Dedicated MySQL Server Machine(專門的數據庫服務器,mysql占用所有可用資源)”,大家根據自己的類型選擇了,一般選“Server Machine”,不會太少,也不會占滿。圖 1.6。
?
圖 1.5 選擇服務器類型
?
圖 1.6 選擇數據庫用途
(8)選擇mysql數據庫的大致用途,“Multifunctional Database(通用多功能型)”、“Transactional Database Only(服務器類型,專注于事務處理)”、“Non-Transactional Database Only”(非事務處理型,較簡單,主要做一些監控、記數用,對MyISAM數據類型的支持僅限于non-transactional),隨自己的用途而選擇了,我這里選擇“Multifunctional Database”,按“Next”繼續。如圖 1.6。
(9)對InnoDB Tablespace進行配置,就是為InnoDB 數據庫文件選擇一個存儲空間,如果修改了,要記住位置,重裝的時候要選擇一樣的地方,否則可能會造成數據庫損壞,當然,對數據庫做個備份就沒問題了,這里不詳述。這里沒有修改,使用默認位置,直接按“Next”繼續。如圖1.7。
?
圖1.7 數據庫文件位置
(10)選擇您的網站一般mysql訪問量,同時連接的數目,“Decision Support(DSS)/OLAP(20個左右)”、“Online Transaction Processing(OLTP)(500個左右)”、“Manual Setting(手動設置,自己輸一個數)”,我這里選“Online Transaction Processing(OLTP)”,自己的服務器,應該夠用了,按“Next”繼續。如圖 1.8。
(11)是否啟用TCP/IP連接,設定端口,如果不啟用,就只能在自己的機器上訪問mysql數據庫了,我們這里啟用,把前面的勾打上,Port Number:3306,在這個頁面上,您還可以選擇“啟用標準模式”(Enable Strict Mode),這樣MySQL就不會允許細小的語法錯誤。如果您還是個新手,我建議您取消標準模式以減少麻煩。但熟悉MySQL以后,盡量使用標準模式,因為它可以降低有害數據進入數據庫的可能性。按“Next”繼續。如圖1.9。
?
?
圖 1.8 數據庫連接數量
?
圖1.9 選擇端口號
(12)選擇字符集。這個比較重要,就是對mysql默認數據庫語言編碼進行設置,第一個是西文編碼,第二個是多字節的通用utf8編碼,都不是我們通用的編碼,這里選擇第三個,然后在Character Set那里選擇或填入“gbk”,當然也可以用“gb2312”,區別就是gbk的字庫容量大,包括了gb2312的所有漢字,并且加上了繁體字、和其它亂七八糟的字——使用mysql的時候,在執行數據操作命令之前運行一次“SET NAMES GBK;”(運行一次就行了,GBK可以替換為其它值,視這里的設置而定),就可以正常的使用漢字(或其它文字)了,否則不能正常顯示漢字。按 “Next”繼續。如圖1.10。
?
圖1.10 選擇字符集
?
圖 1.11 安裝MySQL服務
(13)選擇是否將mysql安裝為windows服務,還可以指定Service Name(服務標識名稱),是否將mysql的bin目錄加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目錄名,比如連接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),這里全部打上了勾,Service Name不變。按“Next”繼續。圖 1.11。
(14)這一步詢問是否要修改默認root用戶(超級管理)的密碼(默認為空),“New root password”如果要修改,就在此填入新密碼(如果是重裝,并且之前已經設置了密碼,在這里更改密碼可能會出錯,請留空,并將“Modify Security Settings”前面的勾去掉,安裝配置完成后另行修改密碼),“Confirm(再輸一遍)”內再填一次,防止輸錯。“Enable root access from remote machines(是否允許root用戶在其它的機器上登陸,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一個匿名用戶,匿名用戶可以連接數據庫,不能操作數據,包括查詢)”,一般就不用勾了,設置完畢,按“Next”繼續。如圖1.12。
?
圖1.12 創建root用戶
接下來就是等待配置結束了。
配置結束后,如果想更改配置,可以到安裝目錄中編輯my.ini文件,修改相應條目來修改配置。
1.3.2 配置MySQL
在上面的MSI安裝的過程中,已經進行了可以使用的配置。但是如果采用手動安裝模式,或想修改MySQL的配置,則需要了解MySQL的my.ini文件中的相關條目。my.ini文件在安裝目錄下。我們現在需要關注的是my.ini文件中的mysqld小節(即在my.ini文件標注為[mysqld]的地方)中幾個條目。
(1)?????? port = 3306
表示MySQL監聽3306端口,3306是MySQL的默認端口,如果有需要,可以修改這個端口。
(2)?????? basedir="安裝目錄"。
??? 表明安裝目錄的位置。
如果安裝目錄為“C:/Program Files/MySQL/MySQL Server 5.1/”,則內容相應內容為:
basedir=" C:/Program Files/MySQL/MySQL Server 5.1/"
注意目錄間隔使用“/”而不是“/”,如果要使用“/”,則要修改成“//”,如下:
basedir=" C://Program Files//MySQL//MySQL Server 5.1//"
(3)?????? datadir="數據文件的目錄 "
指明數據文件的目錄,假如數據文件放在D:/data下,則:
datadir="D:/data/ "
(4)?????? default-character-set=字符集
指明數據庫采用何種字符對數據進行編碼。一般情況下可以utf-8,在使用中文的情況下也可使用gbk。如:
default-character-set=gbk
(5)?????? default-storage-engine=數據庫引擎
指定默認的數據庫引擎。在Linux下,默認的引擎為MyISAM,而在Windows下默認引擎為INNODB。他們的主要區別在于MyISAM不支持外鍵與事務但執行速度快,INNODB支持外鍵與事務但執行效率稍差。至于選用哪種引擎,要看具體應用而定。如:
default-storage-engine=MyISAM
(6)?????? innodb_data_home_dir=innodb數據文件位置。
如果才用innobd引擎,則可以使用這一條目指定innodb數據文件的位置。假設innodb數據文件的位置在D:/InnoDB_Data,則
innodb_data_home_dir="D:/ InnoDB_Data /"
?
還有其他許多調整數據庫性能的條目如cache的大小,最大數據庫連接數等等。這些參數的調整對于DBA來說比較重要,而對于我們剛接觸MySQL的人或程序開發者人來說,并不是必須的。
1.3.3 MySQL客戶端PhpMyAdmin
phpMyAdmin 是一個以PHP為基礎,以Web-Base方式架構在網站主機上的MySQL的數據庫管理工具。安裝該工具后,即可以通過 web 形式直接管理 MySQL 數據,而不需要通過執行系統命令來管理,非常適合對數據庫操作命令不熟悉的數據庫管理者。PhpMyAdmin已經有十年的歷史,它非常穩定,也易于擴展。 而且每年都贏得SourceForge.net社區的最佳系統管理工具獎。我們可以到http://www.phpmyadmin.net/home_page/index.php上去下載PhpMyAdmin。
作為非英語地區的人,在下載時,我們要選擇多語種語言包(PhpMyAdmin聲稱支持58種語言,當然也支持簡體中文),在Windows下為解壓方便也選擇zip壓縮包,如phpMyAdmin-3.3.1-all-languages.zip。
下載后解壓到1.2.3節中配置的doc_root指定的目錄下。接下就該配置PhpMyAdmin了。
打開 libraries 目錄下的 config.default.php 文件,依次找到下面各項,按照說明配置即可。
1、訪問網址
$cfg['PmaAbsoluteUri'] = ' ';????? //這里填寫 phpMyAdmin 的訪問網址。
2、MySQL 主機信息
$cfg['Servers'][$i]['host'] = 'localhost'; ??// MySQL主機名或IP地址
填寫 localhost? 或 MySQL? 所在服務器的 ip 地址,如果 MySQL 和該 phpMyAdmin 在同一服務器,則按默認 localhost
$cfg['Servers'][$i]['port'] = ' '; // MySQL 端口 – 默認端口可以留空
MySQL 端口,默認為 3306,保留為空即可,如果您安裝 MySQL 時使用了其它的端口,需要在這里填寫。
3、MySQL 用戶名和密碼
$cfg['Servers'][$i]['user'] = 'root'; // 填寫 MySQL訪問 phpMyAdmin 使用的 MySQL 用戶名,默認為 root。
$c fg['Servers'][$i]['password'] = ''; // 填寫對應上述 MySQL 用戶名的密碼。
4、認證方法
$cfg['Servers'][$i]['auth_type'] = 'cookie'; //考慮到安全的因素,建議這里填寫 cookie。
在此有四種模式可供選擇,cookie,http,HTTP,config
config 方式即輸入 phpMyAdmin 的訪問網址即可直接進入,無需輸入用戶名和密碼,是不安全的,不推薦使用。
當該項設置為 cookie,http 或 HTTP 時,登錄 phpMyAdmin 需要數據用戶名和密碼進行驗證,具體如下:
PHP 安裝模式為 Apache,可以使用 http 和 cookie;
PHP 安裝模式為 CGI,可以使用 cookie。
5、短語密碼(blowfish_secret)的設置
$cfg['blowfish_secret'] = '';
如果認證方法設置為 cookie,就需要設置短語密碼,設置為什么密碼,由您自己決定,這里不能留空,否則會在登錄 phpMyAdmin 時提示錯誤。
當使用 'HTTP' 和 'cookie' 認證時,phpMyAdmin 需要一個在 `mysql`.`user` (除 `Password` 之外的所有字段)、`mysql`.`db` (所有字段)、`mysql`.`host` (所有字段) 和 `mysql`.`tables_priv` (除 `Grantor` 和 `Timestamp` 之外的所有字段) 數據表中僅具有 SELECT 權限的控制用戶。
你必須在 config.inc.php 中的 $cfg['Servers'][$i]['controluser'] 和 $cfg['Servers'][$i]['controlpass'] 設置中設置好控制用戶。
下例演示了如何使用 pma 作為控制用戶以及 pmapass 作為控制用戶的密碼,需要注意的是: 這僅僅是個示范,請在你的配置文件中使用不同的用戶名和密碼!在 phpMyAdmin SQL 查詢窗口或 MySQL 命令行客戶端中輸入下列命令。
如果網站服務器和 MySQL 服務器并不在同一臺服務器上,你要將 localhost 換成正確的地址。
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
GRANT SELECT (
??? Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
??? Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
??? File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
??? Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
??? Execute_priv, Repl_slave_priv, Repl_client_priv
??? ) ON mysql.user TO 'pma'@'localhost';
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
??? ON mysql.tables_priv TO 'pma'@'localhost';
如果你想使用書簽以及相關的新功能,還要執行:
GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost';
上面的<pma_db>數據庫的創建,你可以使用setup目錄下的Create.sql,此腳本文件幫助你創建書簽有關的數據庫。當然想使用書簽功能,還需要在配置文件中配置與<pma_db>數據有關的內容。
上述配置是PhpMyAdmin的基本配置,這些信息對于初學者已經足夠。如需要更詳細的信息可以參考PhpMyAdmin的中文翻譯文檔,網址是:http://www.phpmyadmin.net/localized_docs/zh_CN/Documentation.html。
配置完成后,將此文件重命名為config.inc.php,復制到PhpMyAdmin的安裝目錄下即可。接下來您就可以在瀏覽器里輸入:http://localhost:88/phpmyadmin/,看看是否有登陸界面出現。
?
總結
以上是生活随笔為你收集整理的PHP开发环境配置:安装与配置Apache、PHP、MySQL、PhpMyAdmin的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在安装、重装MySQL时出现could
- 下一篇: phpmyadmin配置