日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

PHP开发环境配置:安装与配置Apache、PHP、MySQL、PhpMyAdmin

發(fā)布時(shí)間:2024/4/15 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP开发环境配置:安装与配置Apache、PHP、MySQL、PhpMyAdmin 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

?

目標(biāo)

ü??????? Windows上安裝與配置MySQL

ü??????? Windows上安裝與配置Apache

ü??????? Windows上安裝與配置PHP


?

一般情況下,使用PHP開(kāi)發(fā)的Web網(wǎng)站是在Linux操作系統(tǒng)下運(yùn)行的,它與在Linux上運(yùn)行的Apache Web服務(wù)器、MySQL數(shù)據(jù)服務(wù)器構(gòu)成了著名的“LAMP”技術(shù)(LinuxApacheMySQLPHP的首字母構(gòu)成)。

LAMP一詞由Michael Kunze1998年為德國(guó)一家計(jì)算機(jī)雜志編寫(xiě)一篇關(guān)于自由軟件如何成為商業(yè)軟件替代品的文章時(shí)創(chuàng)造的。 (, , & , 2008)

LAMP所代表的不僅僅是自由和開(kāi)發(fā),而且LAMP構(gòu)成了強(qiáng)大的、高性能Web應(yīng)用平臺(tái),具有易于開(kāi)發(fā)、更新速度快、安全性高、成本低的特點(diǎn),因此被很多開(kāi)發(fā)者視為“黃金組合”。當(dāng)前,國(guó)內(nèi)外最知名的三大BBS軟件提供商IPBVBBPHPBBS均基于LAMP平臺(tái)。在國(guó)內(nèi),據(jù)PHPCHINA資料統(tǒng)計(jì),在中國(guó)排名前200名的網(wǎng)站中就61%采用了LAMP平臺(tái)。 (, , & , 2008)

LAMP的迅速發(fā)展對(duì)于Java.Net等商業(yè)軟件構(gòu)成了嚴(yán)重的威脅。據(jù)美國(guó)互聯(lián)網(wǎng)市場(chǎng)調(diào)研機(jī)構(gòu)NetCraftwww.netcraft.co.uk)發(fā)布的20081月份的網(wǎng)站統(tǒng)計(jì)數(shù)據(jù)表明,基于LinuxApache依然是網(wǎng)站的第一選擇,市場(chǎng)份額為50.6%,而快速崛起的Web2.0網(wǎng)站,半數(shù)以上也都采用了LAMP技術(shù)。 (, , & , 2008)

因此掌握LAMP是進(jìn)行PHP Web開(kāi)發(fā)和運(yùn)營(yíng)的基本前提。然而對(duì)于很多的PHP開(kāi)發(fā)者來(lái)說(shuō),Windows似乎是一個(gè)更容易使用、也更愿意使用的操作系統(tǒng),而且在Windows上開(kāi)發(fā)的PHP程序可以略作修改或直接移植到Linux系統(tǒng)上去。因此作為純粹的PHP開(kāi)發(fā)人員,Linux不是必須的(當(dāng)然,如果想要作為產(chǎn)品運(yùn)行,則還需要掌握如何在Linux上安裝部署系統(tǒng)),他們所需要的是如何在自己喜歡的Windows系統(tǒng)上安裝配置ApacheMySQLPHP,我們稱之為WAMP

在本章,我們將介紹如何在Windows上安裝配置ApacheMySQLPHP。我們將在附錄中介紹有關(guān)LAMP的安裝配置。

1.1????? 安裝與配置Apache

Apache Web服務(wù)器雖然在近年的市場(chǎng)占有率有所下降(200511月時(shí)曾接近80%),但NetCraft發(fā)布的2010年三月的統(tǒng)計(jì)數(shù)據(jù)說(shuō)明,Apache服務(wù)器仍然占第一位,有54%左右,比第二位的Microsoft IIS24%左右高出近2倍。這意味著這個(gè)開(kāi)源軟件將繼續(xù)成為互聯(lián)網(wǎng)上應(yīng)用最廣泛的Web服務(wù)器。

1.1.1 Apache簡(jiǎn)介

Web服務(wù)器發(fā)展的初期,美國(guó)架構(gòu)超級(jí)計(jì)算機(jī)應(yīng)用中心(NCSA)在1995年創(chuàng)建了當(dāng)時(shí)一流的Web服務(wù)器。然而,NCSA Web服務(wù)器的主要開(kāi)發(fā)人員后來(lái)同時(shí)離開(kāi)了NCSA,使得這個(gè)服務(wù)器項(xiàng)目就停頓下來(lái)。與此同時(shí),那些使用NCSA Web服務(wù)器的人們開(kāi)始交換他們用于該服務(wù)器的補(bǔ)丁程序,他們也很快認(rèn)識(shí)到處理管理這些補(bǔ)丁程序的論壇的重要意義。就這樣,誕生了Apache Group。這以團(tuán)體使用NCSA Web服務(wù)器的代碼,創(chuàng)建了稱為ApacheWeb服務(wù)器軟件。Apache最初是從NCSA Web服務(wù)器內(nèi)核代碼和一大堆補(bǔ)丁程序中衍生出來(lái)的。經(jīng)過(guò)短短的幾年時(shí)間,Apache已經(jīng)稱為使用最廣泛的Web服務(wù)器軟件,在服務(wù)器市場(chǎng)中占絕對(duì)優(yōu)勢(shì)。

Apache是一個(gè)免費(fèi)的軟件,用戶可以免費(fèi)從Apache的官方網(wǎng)站下載。任何人都可以參加其組成部分的開(kāi)發(fā)。Apache允許世界各地的人對(duì)其提供新特性。當(dāng)新代碼提交到Apache Group后,Apache Group對(duì)其具體內(nèi)容進(jìn)行審查并測(cè)試和質(zhì)量檢查。如果他們滿意,該代碼就會(huì)被集成到Apache的主要發(fā)行版本中。

Apache的其他主要特征有:

l???????? 支持最新的HTTP協(xié)議:是最先支持HTTP1.1Web服務(wù)器之一,其與新的HTTP協(xié)議完全兼容,同時(shí)與HTTP1.0HTTP1.1向后兼容。Apache還為支持新協(xié)議做好了準(zhǔn)備。

l???????? 簡(jiǎn)單而強(qiáng)大的基于文件的配置:該服務(wù)器沒(méi)有為管理員提供圖形用戶界面,提供了一個(gè)簡(jiǎn)單但是功能異常強(qiáng)大的配置文件。用戶可以根據(jù)需要用這個(gè)文件隨心所欲的完成自己希望的Apache配置。

l???????? 支持通用網(wǎng)關(guān)接口(CGI):采用mod_cgi模塊支持CGIApache支持CGI/1.1標(biāo)準(zhǔn),并且提供了一些擴(kuò)充。

l???????? 支持虛擬主機(jī):是首批既支持IP虛擬主機(jī)又支持命名虛擬主機(jī)的Web服務(wù)器之一。

l???????? 支持HTTP認(rèn)證:支持基于Web的基本認(rèn)證。它還有望支持基于消息摘要的認(rèn)證機(jī)制。

l???????? 內(nèi)部集成PerlPerlCGI腳本編程的事實(shí)標(biāo)準(zhǔn)。Apache對(duì)Perl提供了良好的支持,通過(guò)使用其mod_perl模塊,還可以將Perl的腳本裝入內(nèi)存。

l???????? 集成代理服務(wù)器:用戶還可以選擇Apache作為代理服務(wù)器。

l???????? 支持SSL:由于版本法和美國(guó)法律在進(jìn)出口方面的限制,Apache本身不支持SSL。但用戶可以通過(guò)安裝Apache的補(bǔ)丁程序集合(Apache-SSL)使得Apache支持SSL

l???????? 支持HTTP Cookie:通過(guò)支持Cookie,可以對(duì)用戶瀏覽Web站點(diǎn)進(jìn)行跟蹤。

Apache可以到官方網(wǎng)站下載Apache的最新安裝程序。

1.1.2 安裝Apache

Windows下安裝Apache與安裝其他Windows程序并無(wú)二致,其安裝過(guò)程簡(jiǎn)要說(shuō)明如下:

(1)?? 雙擊Apache安裝文件,啟動(dòng)安裝程序。

(2)?? 進(jìn)行安裝時(shí),首先看到一個(gè)歡迎界面,然后單擊下一步。

(3)?? 接下來(lái)會(huì)顯示一個(gè)許可協(xié)議。如果你同意許可條款,單擊下一步。

(4)?? 接下來(lái)看到對(duì)話框中將包含與Apache服務(wù)器有關(guān)的各項(xiàng)內(nèi)容。閱讀后單擊下一步。

(5)?? 下面需要提供與服務(wù)器操作有關(guān)的一些內(nèi)容,包括網(wǎng)絡(luò)域、服務(wù)器名和管理的EMAIL地址。如果你知道這些信息,就可以填入,否則,前兩項(xiàng)只需輸入localhost,最后一項(xiàng)可以填入一個(gè)任意的EMAIL地址。以后可以在httpd.conf文件中修改這些信息。另外還會(huì)提示你確定Apache要作為面向所有用戶的服務(wù)運(yùn)行還是只用于當(dāng)前用戶。如果你希望Apache自動(dòng)與操作系統(tǒng)一起啟動(dòng)(這也是推進(jìn)的做法),可以選擇Apache安裝為面向所有用戶的服務(wù)。完成設(shè)置后,單擊下一步。

(6)?? 接下來(lái)會(huì)提選擇安裝類型:典型安裝(Typical)或是定制安裝(Custom)。除非有特殊的原因你不想安裝Apache文檔,否則請(qǐng)選擇典型安裝,然后單擊“下一步”。如果不安裝文檔,可以選擇定制安裝,單擊“下一步”,否則請(qǐng)選擇典型安裝,在下一個(gè)屏幕中將Apache Documentation選項(xiàng)取消。

(7)?? 下面將提示你選擇目標(biāo)文件夾。默認(rèn)目標(biāo)文件夾為C:/Program Files/Apache Group。你可以選擇你自己想要安裝的目錄。不論你選擇哪個(gè)目錄,要記住。

(8)?? 單擊“安裝”完成安裝。這就是安裝Apache的全過(guò)程。

1.1.3 配置Apache

Apache Web服務(wù)器的主要配置文件為httpd.conf,在安裝目錄的conf目錄下。下面簡(jiǎn)要介紹一些常用的配置參數(shù)。

(1)?????? ServerRoot指令

用來(lái)設(shè)置服務(wù)器目錄的絕對(duì)路徑,它通知服務(wù)器到哪個(gè)位置查找所有的資源和配置文件。在配置文件中指定的資源,有許多是相對(duì)于ServerRoot目錄的。在Windows下,ServerRoot就是安裝目。

(2)?????? Port指令

指定服務(wù)器運(yùn)行在哪個(gè)端口上。默認(rèn)為80,這是標(biāo)準(zhǔn)的HTTP端口號(hào)。用戶在某些特定情況下可能要讓服務(wù)器運(yùn)行在另外的端口上,例如當(dāng)用戶想要運(yùn)行一個(gè)測(cè)試服務(wù)器而不希望其他人知道時(shí),或者80端口已經(jīng)被其他程序占用了(如IIS),這時(shí)候可以指定服務(wù)器偵聽(tīng)非80端口。在Windows版本上用Listen指令完成該配置。修改httpd.conf里面關(guān)于Listen的選項(xiàng),例如:

Listen 8000指令就是使Apache監(jiān)聽(tīng)8000端口。而如果要同時(shí)指定監(jiān)聽(tīng)端口和監(jiān)聽(tīng)地址,可以使用:

?????????????????? Listen 192.168.20.1080

(3)?????? ServerName指令

用來(lái)設(shè)置服務(wù)器將返回的主機(jī)名,它應(yīng)該被設(shè)置為一個(gè)完全限定的域名。例如,將它設(shè)置為www.yourserver.com而不是簡(jiǎn)單的www。如果服務(wù)器通過(guò)Internet訪問(wèn)而不是僅僅在局域網(wǎng)中訪問(wèn),該設(shè)置尤為重要。如果你自己沒(méi)有域名或只在局域網(wǎng)內(nèi)使用,你可以將它設(shè)置為自己的ip地址。

(4)?????? DocumentRoot指令

設(shè)置為文檔目錄的絕對(duì)路徑,該路徑是Apache提供文件的頂級(jí)目錄,也就是網(wǎng)頁(yè)存放的目錄。在默認(rèn)情況下,它被設(shè)置為安裝目錄下的htdocs目錄。例如,如果設(shè)置DocumentRootD:/htdocs,那么當(dāng)訪問(wèn)http://localhost/index.html時(shí)實(shí)際就是訪問(wèn)D:/htdocs目錄下的index.html文件。需要注意的是Windows路徑中的“/”該為“/”。

(5)?????? DirectoryIndex指令

指明作為目錄索引的文件名,例如,當(dāng)請(qǐng)求的URLhttp://www.server.com/Directory/時(shí),指明哪個(gè)文件作為目錄的索引,即默認(rèn)訪問(wèn)的文件。通常在這里放入許多文件名非常有用,這樣當(dāng)index.html(默認(rèn)值)找不到時(shí),可以使用另一個(gè)文件替換。該指令最有用的應(yīng)用是在目錄中有一個(gè)CGI程序運(yùn)行,作為默認(rèn)的動(dòng)作。

其他的一些指令用作服務(wù)器的性能調(diào)整等作用,需要的時(shí)候可以查詢Apache文檔。

除了上述的幾個(gè)指令外,還需要了解如何進(jìn)行訪問(wèn)控制。要配置默認(rèn)可以使用的選項(xiàng),需要使用Options指令。

例如,在httpd.conf文件中,可以見(jiàn)到如下清單:

#

# 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可以為NoneAll或者任何IndexesIncludesFollowSymLinksExecCGI或者MultiViews的組合。MultiViews不包含在All中,必須顯示指定。這些選項(xiàng)解釋如下。

None:該目錄沒(méi)有啟用任何可用的選項(xiàng)。

All:該目錄啟用了所有選項(xiàng),除了MultiViews

Indexes:當(dāng)Index.html文件或者另一個(gè)DirectoryIndex文件不存在時(shí),目錄中的文件列表將作為HTML頁(yè)產(chǎn)生,顯示給用戶。

Includes:該目錄允許服務(wù)器側(cè)包含(SSI)。如果允許包含但是不允許在包含中有exec選項(xiàng),則可以寫(xiě)為IncludesNoExec。基于安全的原因,對(duì)于沒(méi)有安全控制權(quán)限的目錄,如UserDir目錄,該選項(xiàng)是一個(gè)很好的主意。

FollowSymLinks:允許訪問(wèn)符號(hào)鏈接到文檔目錄的目錄。這種方法不好,不要將整個(gè)服務(wù)器全部設(shè)置為該選項(xiàng)。對(duì)某個(gè)目錄可以這樣設(shè)置,但是在僅當(dāng)有足夠的理由時(shí)才這樣設(shè)置。該選項(xiàng)是一個(gè)潛在的安全隱患,因?yàn)樵试SWeb用戶跳出文檔目錄以外,并且可能潛在地允許用戶訪問(wèn)文件系統(tǒng)的分區(qū),而這些地方時(shí)不希望其他人訪問(wèn)的。

ExecCGI:即使該目錄不是ScriptAlias化的目錄,也在其中允許CGI程序。

MultiViews:該選項(xiàng)是mod_negotiation模塊的一部分。當(dāng)客戶請(qǐng)求的文檔沒(méi)有找到時(shí),服務(wù)器試圖計(jì)算最適合客戶請(qǐng)求的文檔。

2.?????? AllowOverrides指令

AllowOverrides指令指定.htaccess文件可以覆蓋的選項(xiàng)。可以對(duì)每個(gè)目錄進(jìn)行設(shè)置。例如,可以對(duì)主要文檔rootUserDir目錄的覆蓋有不同的標(biāo)準(zhǔn)。該功能對(duì)于用戶目錄特別有用,在這些目錄中用戶沒(méi)有訪問(wèn)服務(wù)器配置文件的權(quán)限。

AllowOverrides可以設(shè)置為All或者Options.htaccessFileInfo.htaccessAuthConfig.htaccess以及Limit.htaccess選項(xiàng)的組合這些選項(xiàng)含義如下。

All:表示不讀取.htaccess文件配置內(nèi)容。

Options.htaccess:文件可以為該目錄添加沒(méi)有在Options指令中列出的選項(xiàng)。

FileInfo.htaccess:文件包含修改文檔類型信息的指令。

AuthConfig.htaccess:文件可能包含驗(yàn)證指令。

Limit.htaccess:文件可能包含allowdenyorder指令。

3.?????? order指令

Order只能設(shè)置為Order allow, denyOrderdenyallow,表明用戶是先設(shè)置允許的訪問(wèn)地址還是先設(shè)置禁止訪問(wèn)的地址。

4.?????? allow指令

指明允許訪問(wèn)的地址或地址序列。如allow from all指令表明允許所有IP來(lái)的訪問(wèn)請(qǐng)求。

5.?????? deny指令

指明禁止訪問(wèn)的地址或地址序列。如deny from all指令表明禁止所有IP來(lái)的訪問(wèn)請(qǐng)求。

1.2????? 安裝與配置PHP

PHP當(dāng)前的版本是5.3.2,即將發(fā)布的版本是6.0。我們以當(dāng)前穩(wěn)定版本5.3為基礎(chǔ)介紹PHP

1.2.1? 下載PHP

PHP原本是在Linux下開(kāi)發(fā)的,直到現(xiàn)在也任然是以源代碼的形式發(fā)布,下載編譯后配置運(yùn)行。在Windows下你也可以這么做。但是更好的辦法是去下載已近編譯好的二進(jìn)制包,下載地址為:http://windows.php.net/download/PHP for Windows的二進(jìn)制包有2種,是因不同編譯器而產(chǎn)生的2中包。

l???????? VC9 X86版本。這個(gè)版本是由Visual Studio 2008編譯器編譯的,并且在運(yùn)行時(shí)要求實(shí)現(xiàn)安裝了Microsoft 2008 C++ Runtime (x86) VC9版本適合于與IIS一起使用。

l???????? VC6 X86版本。這個(gè)版本由傳統(tǒng)的Visual Studio 6編譯器編譯。如果你的web服務(wù)器為Apache1Apache2,你應(yīng)該選擇VC6版本。在本書(shū)中,我們使用Apache2.2,我們選擇下載VC6 版本。

每個(gè)版本又分為線程安全(Thread safe)和非線程安全(NoneThread safe),我們選擇線程安全版本。每個(gè)版本又分為解壓縮版和msi安裝版。這兩種版本區(qū)別不大,都需要做手工配置。我們選擇解壓版。

1.2.2? 安裝PHP

我們下載的是VC6 線程安全的解壓縮版本(php-5.x.x-Win32-VC6-x86.zipx為某一子版本)。使用解壓縮工具如winzipwinrar將此文件解壓縮到你想安裝PHP的目錄,比如D:/PHP5。解壓版的安裝就此結(jié)束。

MSI安裝版安裝也比較簡(jiǎn)單,按照界面提示安裝即可。

1.2.3? 配置PHP

PHP的運(yùn)行需要和Web服務(wù)的支持,故對(duì)PHP的配置同時(shí)需要配置Web服務(wù)器。本書(shū)中我們是Apache,需要對(duì)Apache的配置文件httpd.conf進(jìn)行配置。

(1)?????? 配置Apachehttpd.conf

l???????? PHP的在Apache下有三種運(yùn)行方式,分別是作為Apache模塊運(yùn)行、作為CGI模式運(yùn)行以及作為FastCGI模式運(yùn)行。FastCGI模式作為正式運(yùn)行時(shí)比較合適,在開(kāi)發(fā)模式下,我們一般選用Apache模塊方式。將PHP作為Apache模塊運(yùn)行,需要對(duì)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為擴(kuò)展名的文件,即使這個(gè)文件還有其他的擴(kuò)展名。比如文件名為my.php.txt也會(huì)被PHP模塊處理。為了保證只有以.php結(jié)尾的文件被執(zhí)行,還需要如下的配置;

<FilesMatch /.php$>

????? SetHandler application/x-httpd-php

</FilesMatch>

l???????? 修改DocumentRoot為你放置php頁(yè)面的目錄。當(dāng)然你也可以配置虛擬目錄和虛擬主機(jī)。我了方便起見(jiàn)我們直接選擇修改DocumentRoot。假如你的php文件放在D:/php5_Doc下,則:

DocumentRoot ?"D:/ php5_Doc"

l???????? 修改訪問(wèn)權(quán)限。在Directory指令下,修改默認(rèn)路徑,即<Directory? />下的內(nèi)容。將“Deny from all”修改為“Allow from all”。

同時(shí)要修改D:/php5_Doc的房屋權(quán)限,相應(yīng)的配置如下:

<Directory "D:/ php5_Doc">

??? Options Indexes FollowSymLinks

??? AllowOverride None???

??? Order allow,deny

??? Allow from all

</Directory>

l???????? 添加默認(rèn)文件。將index.php添加到<IfModule dir_module>指令下。如:

<IfModule dir_module>

??? DirectoryIndex index.php index.html index.htm

</IfModule>

(2)?????? 配置PHPphp.ini

在安裝目錄下,有php.ini-developmentphp.ini-production文件,可以以這兩個(gè)文件為基礎(chǔ),使他們分別作為開(kāi)發(fā)和產(chǎn)品階段的配置文件。現(xiàn)在我們主要用來(lái)開(kāi)發(fā),我們把php.ini-development修改為php.ini,并做如下配置:

l???????? doc_root選項(xiàng)。在php.ini文件中找到doc_root,將其修改為放置php的目錄,要和Apache中的DocumentRoot一致。即:doc_root ="D:/ php5_Doc"

l???????? extension_dir選項(xiàng)。此選項(xiàng)用于說(shuō)明php擴(kuò)展功能(比如數(shù)據(jù)庫(kù)擴(kuò)展)文件的目錄。這些擴(kuò)展功能將在需要時(shí)動(dòng)態(tài)加載。在PHP的安裝部分,我們把PHP安裝在D:/PHP5,則:

???? extension_dir = "D:/php5/ext"

l???????? 選擇動(dòng)態(tài)擴(kuò)展項(xiàng)。在“Dynamic Extensions”配置小節(jié)中,可以根據(jù)我們的實(shí)際需要選擇擴(kuò)展功能。在本講義中我們需要用到MySQL,我們需要選擇MySQL的擴(kuò)展。MySQL2個(gè)擴(kuò)展項(xiàng),如果使用較新的MySQL5版本,我們選擇php_mysqli.dll,如果是以前的版本這選擇php_mysql.dll。選擇擴(kuò)展比較簡(jiǎn)單,將每行的第一個(gè)字符“;”去掉即可。其他的擴(kuò)展可按實(shí)際需要選擇。

1.2.4測(cè)試PHP的安裝

如果MySQL還沒(méi)有安裝,我們現(xiàn)在把MySQL擴(kuò)展注釋掉(即添加“;”進(jìn)行注釋)。

PHP的文檔目錄下(D:/ php5_Doc),創(chuàng)建一個(gè)測(cè)試文件(test.php),其主要內(nèi)容如下:

<?php

? phpinfo();

?>

接下來(lái)就該運(yùn)行test.php來(lái)測(cè)試PHP安裝的正確性了。

首先啟動(dòng)Apache,如果配置上有一些影響Apache啟動(dòng)的錯(cuò)誤,則Apache不啟動(dòng)。

然后在瀏覽器地址欄輸入: http://localhost:88/test.php。(端口88Apache的實(shí)際配置情況。)

如能顯示如圖1.1所示內(nèi)容,則表示配置正確,否則還有其他一些配置問(wèn)題。

?

1.1 phpinfo顯示

1.3 安裝與配置MySQL

MySQL是一個(gè)快速而有健壯的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)(RDBMS)。一個(gè)數(shù)據(jù)庫(kù)將允許高效的存儲(chǔ)、搜索、排序和檢索數(shù)據(jù)。MySQL服務(wù)器將控制對(duì)數(shù)據(jù)的訪問(wèn),從而確保多個(gè)用戶可以并發(fā)的使用它,同時(shí)提供了快速訪問(wèn)并且確保只有通過(guò)驗(yàn)證的用戶才能獲得數(shù)據(jù)訪問(wèn)。因此,MySQL是一個(gè)多用戶、多線程的服務(wù)器。它使用了結(jié)構(gòu)化查詢語(yǔ)言(SQL),這是全球通用的標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)查詢語(yǔ)言。MySQL是在1996發(fā)布的,但是其開(kāi)發(fā)歷史可以追溯到1979年。它是世界上最受歡迎的開(kāi)源數(shù)據(jù)庫(kù)之一 (Welling & Thomson, 2009)

PHPMySQL能在所有主流的操作系統(tǒng)和許多非主流系統(tǒng)中運(yùn)行,而且它們有低成本、高性能與可擴(kuò)展性高、易學(xué)習(xí)等優(yōu)點(diǎn),符合現(xiàn)在“綠色”“低碳”的觀念,受到了廣大開(kāi)發(fā)者和使用者的喜愛(ài)。

1.3.1 安裝MySQL

由于MySQL是開(kāi)源軟件,獲取這個(gè)軟件很簡(jiǎn)單,只需訪問(wèn)MySQL網(wǎng)站下載一個(gè)副本就行了。在本書(shū)中,我們介紹在WindowsMySQL版本。各個(gè)Linux版本一般都有自己對(duì)應(yīng)的MySQL版本,安裝也不復(fù)雜,相關(guān)內(nèi)容請(qǐng)參考相應(yīng)資料。

可用于Windows平臺(tái)有以下三種版本:

????????? 基本。包含在Windows中有效運(yùn)行MySQL所需的所有特性,但不包括可選組件,如基準(zhǔn)測(cè)試工具。

????????? 完整。包含在Windows中有效運(yùn)行MySQL所需的所有特性,也包括各個(gè)可選組件。

????????? 無(wú)安裝程序。包含完整包中的所有特性,但沒(méi)安裝程序,解壓即可。

一般情況下我們下載基本包或者完整包,這兩個(gè)版本都有Windows安裝程序,安裝過(guò)程中會(huì)提示你選擇各種配置信息。而無(wú)安裝版,解壓完后還需要編輯配置文件,一般推薦有經(jīng)驗(yàn)的人使用。

與許多Windows程序一樣,MySQL提供了一個(gè)方便的GUI安裝程序來(lái)安裝二進(jìn)制包。過(guò)程如下。

1)雙擊msi安裝包啟動(dòng)安裝過(guò)程。

2)選擇安裝類型,有“Typical(默認(rèn))“Complete(完全)“Custom(用戶自定義)三個(gè)選項(xiàng),我們選擇“Custom”,有更多的選項(xiàng),也方便熟悉安裝過(guò)程,如圖1.1

?

1.1 選擇安裝類型

3)接受或修改安裝目錄。默認(rèn)目錄為C:/Program Files/MySQL/MySQL Server 5.1,可以修改此默認(rèn)目錄,如圖1.2。在接下來(lái)的窗口中,單擊OKNext,然后單擊下一個(gè)窗口中的Install

?

1.2 選擇安裝目錄

4)等待安裝結(jié)束,直到出現(xiàn)下面的界面,如圖1.3,這里是詢問(wèn)你是否要注冊(cè)一個(gè)mysql.com的賬號(hào),一般不需要了,點(diǎn)選“Skip Sign-Up”,按“Next”略過(guò)此步驟。

?

1.3 注冊(cè)MySQL用戶

5mysql配置向?qū)?#xff0c;不用像以前一樣,自己手動(dòng)亂七八糟的配置my.ini了,將 “Configure the Mysql Server now”前面的勾打上,點(diǎn)“Finish”結(jié)束軟件的安裝并啟動(dòng)mysql配置向?qū)?#xff0c;如圖1.4

?

1.4 啟動(dòng)配置

6)選擇配置方式,“Detailed Configuration(手動(dòng)精確配置)“Standard Configuration(標(biāo)準(zhǔn)配置),我們選擇“Detailed Configuration”,方便熟悉配置過(guò)程。圖1.5

?

1.5 選擇配置方式

7)選擇服務(wù)器類型,“Developer Machine(開(kāi)發(fā)測(cè)試類,mysql占用很少資源)“Server Machine(服務(wù)器類型,mysql占用較多資源)“Dedicated MySQL Server Machine(專門的數(shù)據(jù)庫(kù)服務(wù)器,mysql占用所有可用資源),大家根據(jù)自己的類型選擇了,一般選“Server Machine”,不會(huì)太少,也不會(huì)占滿。圖 1.6

?

1.5 選擇服務(wù)器類型

?

1.6 選擇數(shù)據(jù)庫(kù)用途

8)選擇mysql數(shù)據(jù)庫(kù)的大致用途,“Multifunctional Database(通用多功能型)“Transactional Database Only(服務(wù)器類型,專注于事務(wù)處理)“Non-Transactional Database Only”(非事務(wù)處理型,較簡(jiǎn)單,主要做一些監(jiān)控、記數(shù)用,對(duì)MyISAM數(shù)據(jù)類型的支持僅限于non-transactional),隨自己的用途而選擇了,我這里選擇“Multifunctional Database”,按“Next”繼續(xù)。如圖 1.6

9)對(duì)InnoDB Tablespace進(jìn)行配置,就是為InnoDB 數(shù)據(jù)庫(kù)文件選擇一個(gè)存儲(chǔ)空間,如果修改了,要記住位置,重裝的時(shí)候要選擇一樣的地方,否則可能會(huì)造成數(shù)據(jù)庫(kù)損壞,當(dāng)然,對(duì)數(shù)據(jù)庫(kù)做個(gè)備份就沒(méi)問(wèn)題了,這里不詳述。這里沒(méi)有修改,使用默認(rèn)位置,直接按“Next”繼續(xù)。如圖1.7

?

1.7 數(shù)據(jù)庫(kù)文件位置

10)選擇您的網(wǎng)站一般mysql訪問(wèn)量,同時(shí)連接的數(shù)目,“Decision Support(DSS)/OLAP20個(gè)左右)“Online Transaction Processing(OLTP)500個(gè)左右)“Manual Setting(手動(dòng)設(shè)置,自己輸一個(gè)數(shù)),我這里選“Online Transaction Processing(OLTP)”,自己的服務(wù)器,應(yīng)該夠用了,按“Next”繼續(xù)。如圖 1.8

11)是否啟用TCP/IP連接,設(shè)定端口,如果不啟用,就只能在自己的機(jī)器上訪問(wèn)mysql數(shù)據(jù)庫(kù)了,我們這里啟用,把前面的勾打上,Port Number3306,在這個(gè)頁(yè)面上,您還可以選擇啟用標(biāo)準(zhǔn)模式Enable Strict Mode),這樣MySQL就不會(huì)允許細(xì)小的語(yǔ)法錯(cuò)誤。如果您還是個(gè)新手,我建議您取消標(biāo)準(zhǔn)模式以減少麻煩。但熟悉MySQL以后,盡量使用標(biāo)準(zhǔn)模式,因?yàn)樗梢越档陀泻?shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù)的可能性。按“Next”繼續(xù)。如圖1.9

?

?

1.8 數(shù)據(jù)庫(kù)連接數(shù)量

?

1.9 選擇端口號(hào)

12)選擇字符集。這個(gè)比較重要,就是對(duì)mysql默認(rèn)數(shù)據(jù)庫(kù)語(yǔ)言編碼進(jìn)行設(shè)置,第一個(gè)是西文編碼,第二個(gè)是多字節(jié)的通用utf8編碼,都不是我們通用的編碼,這里選擇第三個(gè),然后在Character Set那里選擇或填入“gbk”,當(dāng)然也可以用“gb2312”,區(qū)別就是gbk的字庫(kù)容量大,包括了gb2312的所有漢字,并且加上了繁體字、和其它亂七八糟的字——使用mysql的時(shí)候,在執(zhí)行數(shù)據(jù)操作命令之前運(yùn)行一次“SET NAMES GBK;”(運(yùn)行一次就行了,GBK可以替換為其它值,視這里的設(shè)置而定),就可以正常的使用漢字(或其它文字)了,否則不能正常顯示漢字。按 “Next”繼續(xù)。如圖1.10

?

1.10 選擇字符集

?

1.11 安裝MySQL服務(wù)

13)選擇是否將mysql安裝為windows服務(wù),還可以指定Service Name(服務(wù)標(biāo)識(shí)名稱),是否將mysqlbin目錄加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目錄名,比如連接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),這里全部打上了勾,Service Name不變。按“Next”繼續(xù)。圖 1.11

14)這一步詢問(wèn)是否要修改默認(rèn)root用戶(超級(jí)管理)的密碼(默認(rèn)為空),“New root password”如果要修改,就在此填入新密碼(如果是重裝,并且之前已經(jīng)設(shè)置了密碼,在這里更改密碼可能會(huì)出錯(cuò),請(qǐng)留空,并將“Modify Security Settings”前面的勾去掉,安裝配置完成后另行修改密碼),“Confirm(再輸一遍)內(nèi)再填一次,防止輸錯(cuò)。“Enable root access from remote machines(是否允許root用戶在其它的機(jī)器上登陸,如果要安全,就不要勾上,如果要方便,就勾上它)。最后“Create An Anonymous Account(新建一個(gè)匿名用戶,匿名用戶可以連接數(shù)據(jù)庫(kù),不能操作數(shù)據(jù),包括查詢),一般就不用勾了,設(shè)置完畢,按“Next”繼續(xù)。如圖1.12

?

1.12 創(chuàng)建root用戶

接下來(lái)就是等待配置結(jié)束了。

配置結(jié)束后,如果想更改配置,可以到安裝目錄中編輯my.ini文件,修改相應(yīng)條目來(lái)修改配置。

1.3.2 配置MySQL

在上面的MSI安裝的過(guò)程中,已經(jīng)進(jìn)行了可以使用的配置。但是如果采用手動(dòng)安裝模式,或想修改MySQL的配置,則需要了解MySQLmy.ini文件中的相關(guān)條目。my.ini文件在安裝目錄下。我們現(xiàn)在需要關(guān)注的是my.ini文件中的mysqld小節(jié)(即在my.ini文件標(biāo)注為[mysqld]的地方)中幾個(gè)條目。

(1)?????? port = 3306

表示MySQL監(jiān)聽(tīng)3306端口,3306MySQL的默認(rèn)端口,如果有需要,可以修改這個(gè)端口。

(2)?????? basedir="安裝目錄"

??? 表明安裝目錄的位置。

如果安裝目錄為“C:/Program Files/MySQL/MySQL Server 5.1/”,則內(nèi)容相應(yīng)內(nèi)容為:

basedir=" C:/Program Files/MySQL/MySQL Server 5.1/"

注意目錄間隔使用“/”而不是“/”,如果要使用“/”,則要修改成“//”,如下:

basedir=" C://Program Files//MySQL//MySQL Server 5.1//"

(3)?????? datadir="數(shù)據(jù)文件的目錄 "

指明數(shù)據(jù)文件的目錄,假如數(shù)據(jù)文件放在D:/data下,則:

datadir="D:/data/ "

(4)?????? default-character-set=字符集

指明數(shù)據(jù)庫(kù)采用何種字符對(duì)數(shù)據(jù)進(jìn)行編碼。一般情況下可以utf-8,在使用中文的情況下也可使用gbk。如:

default-character-set=gbk

(5)?????? default-storage-engine=數(shù)據(jù)庫(kù)引擎

指定默認(rèn)的數(shù)據(jù)庫(kù)引擎。在Linux下,默認(rèn)的引擎為MyISAM,而在Windows下默認(rèn)引擎為INNODB。他們的主要區(qū)別在于MyISAM不支持外鍵與事務(wù)但執(zhí)行速度快,INNODB支持外鍵與事務(wù)但執(zhí)行效率稍差。至于選用哪種引擎,要看具體應(yīng)用而定。如:

default-storage-engine=MyISAM

(6)?????? innodb_data_home_dir=innodb數(shù)據(jù)文件位置。

如果才用innobd引擎,則可以使用這一條目指定innodb數(shù)據(jù)文件的位置。假設(shè)innodb數(shù)據(jù)文件的位置在D:/InnoDB_Data,則

innodb_data_home_dir="D:/ InnoDB_Data /"

?

還有其他許多調(diào)整數(shù)據(jù)庫(kù)性能的條目如cache的大小,最大數(shù)據(jù)庫(kù)連接數(shù)等等。這些參數(shù)的調(diào)整對(duì)于DBA來(lái)說(shuō)比較重要,而對(duì)于我們剛接觸MySQL的人或程序開(kāi)發(fā)者人來(lái)說(shuō),并不是必須的。

1.3.3 MySQL客戶端PhpMyAdmin

phpMyAdmin 是一個(gè)以PHP為基礎(chǔ),以Web-Base方式架構(gòu)在網(wǎng)站主機(jī)上的MySQL的數(shù)據(jù)庫(kù)管理工具。安裝該工具后,即可以通過(guò) web 形式直接管理 MySQL 數(shù)據(jù),而不需要通過(guò)執(zhí)行系統(tǒng)命令來(lái)管理,非常適合對(duì)數(shù)據(jù)庫(kù)操作命令不熟悉的數(shù)據(jù)庫(kù)管理者。PhpMyAdmin已經(jīng)有十年的歷史,它非常穩(wěn)定,也易于擴(kuò)展。 而且每年都贏得SourceForge.net社區(qū)的最佳系統(tǒng)管理工具獎(jiǎng)。我們可以到http://www.phpmyadmin.net/home_page/index.php上去下載PhpMyAdmin

作為非英語(yǔ)地區(qū)的人,在下載時(shí),我們要選擇多語(yǔ)種語(yǔ)言包(PhpMyAdmin聲稱支持58種語(yǔ)言,當(dāng)然也支持簡(jiǎn)體中文),在Windows下為解壓方便也選擇zip壓縮包,如phpMyAdmin-3.3.1-all-languages.zip

下載后解壓到1.2.3節(jié)中配置的doc_root指定的目錄下。接下就該配置PhpMyAdmin了。

打開(kāi) libraries 目錄下的 config.default.php 文件,依次找到下面各項(xiàng),按照說(shuō)明配置即可。

1、訪問(wèn)網(wǎng)址

$cfg['PmaAbsoluteUri'] = ' ';????? //這里填寫(xiě) phpMyAdmin 的訪問(wèn)網(wǎng)址。

2MySQL 主機(jī)信息

$cfg['Servers'][$i]['host'] = 'localhost'; ??// MySQL主機(jī)名或IP地址

填寫(xiě) localhost? MySQL? 所在服務(wù)器的 ip 地址,如果 MySQL 和該 phpMyAdmin 在同一服務(wù)器,則按默認(rèn) localhost

$cfg['Servers'][$i]['port'] = ' '; // MySQL 端口 默認(rèn)端口可以留空

MySQL 端口,默認(rèn)為 3306,保留為空即可,如果您安裝 MySQL 時(shí)使用了其它的端口,需要在這里填寫(xiě)。

3MySQL 用戶名和密碼

$cfg['Servers'][$i]['user'] = 'root'; // 填寫(xiě) MySQL訪問(wèn) phpMyAdmin 使用的 MySQL 用戶名,默認(rèn)為 root

$c fg['Servers'][$i]['password'] = ''; // 填寫(xiě)對(duì)應(yīng)上述 MySQL 用戶名的密碼。

4、認(rèn)證方法

$cfg['Servers'][$i]['auth_type'] = 'cookie'; //考慮到安全的因素,建議這里填寫(xiě) cookie

在此有四種模式可供選擇,cookiehttpHTTPconfig

config 方式即輸入 phpMyAdmin 的訪問(wèn)網(wǎng)址即可直接進(jìn)入,無(wú)需輸入用戶名和密碼,是不安全的,不推薦使用。

當(dāng)該項(xiàng)設(shè)置為 cookiehttp HTTP 時(shí),登錄 phpMyAdmin 需要數(shù)據(jù)用戶名和密碼進(jìn)行驗(yàn)證,具體如下:

PHP 安裝模式為 Apache,可以使用 http cookie

PHP 安裝模式為 CGI,可以使用 cookie

5、短語(yǔ)密碼(blowfish_secret)的設(shè)置

$cfg['blowfish_secret'] = '';

如果認(rèn)證方法設(shè)置為 cookie,就需要設(shè)置短語(yǔ)密碼,設(shè)置為什么密碼,由您自己決定,這里不能留空,否則會(huì)在登錄 phpMyAdmin 時(shí)提示錯(cuò)誤。

當(dāng)使用 'HTTP' 'cookie' 認(rèn)證時(shí),phpMyAdmin 需要一個(gè)在 `mysql`.`user` ( `Password` 之外的所有字段)`mysql`.`db` (所有字段)`mysql`.`host` (所有字段) `mysql`.`tables_priv` ( `Grantor` `Timestamp` 之外的所有字段) 數(shù)據(jù)表中僅具有 SELECT 權(quán)限的控制用戶。

你必須在 config.inc.php 中的 $cfg['Servers'][$i]['controluser'] $cfg['Servers'][$i]['controlpass'] 設(shè)置中設(shè)置好控制用戶

下例演示了如何使用 pma 作為控制用戶以及 pmapass 作為控制用戶的密碼,需要注意的是: 這僅僅是個(gè)示范,請(qǐng)?jiān)谀愕呐渲梦募惺褂貌煌挠脩裘兔艽a!在 phpMyAdmin SQL 查詢窗口或 MySQL 命令行客戶端中輸入下列命令。

如果網(wǎng)站服務(wù)器和 MySQL 服務(wù)器并不在同一臺(tái)服務(wù)器上,你要將 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';

如果你想使用書(shū)簽以及相關(guān)的新功能,還要執(zhí)行:

GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost';

上面的<pma_db>數(shù)據(jù)庫(kù)的創(chuàng)建,你可以使用setup目錄下的Create.sql,此腳本文件幫助你創(chuàng)建書(shū)簽有關(guān)的數(shù)據(jù)庫(kù)。當(dāng)然想使用書(shū)簽功能,還需要在配置文件中配置與<pma_db>數(shù)據(jù)有關(guān)的內(nèi)容。

上述配置是PhpMyAdmin的基本配置,這些信息對(duì)于初學(xué)者已經(jīng)足夠。如需要更詳細(xì)的信息可以參考PhpMyAdmin的中文翻譯文檔,網(wǎng)址是:http://www.phpmyadmin.net/localized_docs/zh_CN/Documentation.html

配置完成后,將此文件重命名為config.inc.php,復(fù)制到PhpMyAdmin的安裝目錄下即可。接下來(lái)您就可以在瀏覽器里輸入:http://localhost:88/phpmyadmin/,看看是否有登陸界面出現(xiàn)。

?

總結(jié)

以上是生活随笔為你收集整理的PHP开发环境配置:安装与配置Apache、PHP、MySQL、PhpMyAdmin的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。