溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

windows下apache搭建php開(kāi)發(fā)環(huán)境的案例

發(fā)布時(shí)間:2021-02-18 09:27:41 來(lái)源:億速云 閱讀:196 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹了windows下apache搭建php開(kāi)發(fā)環(huán)境的案例,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

在Windows2003下使用Apache2.2.21/PHP5.3.5/Mysql5.5.19/phpMyAdmin3.4.9搭建php開(kāi)發(fā)環(huán)境。

第一步:下載安裝的文件

1. Apache 版本 httpd-2.2.21-win32-x86-no_ssl.msi

2. MySQL 版本 mysql-5.5.19-win32.msi

3. PHP 版本 php-5.3.5-Win32-VC6-x86.zip

4. phpMyadmin 版本 phpMyAdmin-3.4.9-all-languages.zip

提示:

1. 建議選擇無(wú)SSL功能的Apache版本來(lái)完成開(kāi)發(fā),因此我們這里使用了Apache 2.2.21-win32-x86-no ssl.msi。

2. Windows下安裝MySQL就選擇.msi安裝包格式,我們選擇了mysql-5.5.19-win32.msi ,雙擊根據(jù)向?qū)О惭b即可,簡(jiǎn)單方便。

3. PHP我們選擇用Windows的.zip版本,php-5.3.5-Win32-VC6-x86.zip。從安全性和性能來(lái)說(shuō),都是zip版本的好,一般服務(wù)器也都是安裝這個(gè)版本的。

   不要下載NTS版本或VC9版本的,因?yàn)閂C9是專門為IIS定制的,而VC6 是為Apache或其他WEB服務(wù)軟件提供的。

4. phpMyAdmin是以PHP為基礎(chǔ)的在線MySQL管理工具,在進(jìn)行phpMyAdmin3 安裝時(shí)需要的PHP環(huán)境至少為PHP5.2,MySQL5 以上的版本,我們這里都符合要求。

第二步:安裝文件

1. 在要安裝的磁盤建一個(gè)文件夾。為了管理方便我們?cè)贒盤的根目錄下創(chuàng)建一個(gè)WAMP文件夾。 D:\WAMP(WAMP是 windows+apache+mysql+php的縮寫)。

2. 在WAMP文件夾下創(chuàng)建一個(gè)WWW文件夾,用來(lái)存放你的PHP網(wǎng)站程序。D:\WAMP\WWW。

3. 安裝Apache服務(wù)器,把Apache服務(wù)器安裝到 D:\WAMP\Apache 文件夾。具體Apache安裝過(guò)程可以參考文檔 Apache安裝圖解。

4. 把下載的php-5.3.5-Win32-VC6-x86解壓到 D:\WAMP\PHP 文件夾。

5. 安裝MySql數(shù)據(jù)庫(kù),把MySQL安裝到 D:\WAMP\MySQL文件夾。具體MySQL安裝過(guò)程可以參考文檔 MySQL安裝圖解。

6. 解壓phpMyAdmin-3.4.9-all-languages.zip,然后重命名為phpMyAdmin,將其復(fù)制到PHP網(wǎng)站程序目錄。結(jié)果為 D:\WAMP\WWW\phpMyAdmin。

第三步:配置Apache

首先使用文本編輯工具(推薦 EditPlus )打開(kāi) D:\WAMP\Apache\conf\httpd.conf 文件,這個(gè)文件是Apache的配置文件,下面幾步都是在修改這個(gè)文件的內(nèi)容。

要注意的是修改完 httpd.conf 文件需重新啟動(dòng)Apache服務(wù),新設(shè)置才會(huì)生效。

1. 設(shè)置監(jiān)聽(tīng)端口

打開(kāi) httpd.conf 文件后,找到 Listen(大概在第46行),將它后面的數(shù)字改為8080,如下:

        Listen 8080

這個(gè)參數(shù)用來(lái)設(shè)置Apache服務(wù)器的監(jiān)聽(tīng)端口,一般默認(rèn)為80。修改為8080 是為了避免和Windows 2003系統(tǒng)的IIS端口號(hào)沖突,如果你沒(méi)有啟用IIS,也可以使用默認(rèn)的80端口號(hào)。

2. 讓Apache加載PHP模塊

找到 #LoadModule vhost_alias_module modules/mod_vhost_alias.so (大概在第128行),在這行的后面添加以下內(nèi)容:

LoadModule php5_module "D:/WAMP/PHP/php5apache2_2.dll"
 AddType application/x-httpd-php .php
 PHPIniDir "D:/WAMP/PHP"
LoadModule php5_module "D:/WAMP/PHP/php5apache2_2.dll"

這句意思是以module方式載入PHP5模塊。

AddType application/x-httpd-php .php

這句意思就是將.php擴(kuò)展名的文件作為php腳本執(zhí)行。你可以使用你喜歡的任何其他擴(kuò)展名,如 .html、.php5 甚至是 .txt  來(lái)執(zhí)行PHP。

PHPIniDir "D:/WAMP/PHP"

這句用來(lái)指定PHP的配置文件php.ini 所在的目錄。

如果是Apache 2 以module模塊方式運(yùn)行php5的話,就可以使用 PHPIniDir 指令。

3. 修改網(wǎng)站存放目錄

我們知道Apache默認(rèn)的網(wǎng)站存放目錄為Apache安裝目錄下的htdocs文件夾。當(dāng)你更改網(wǎng)站存放目錄,就必須修改相應(yīng)的Apache配置。

在配置文件 httpd.conf 中查找 DocumentRoot(大概在182行),將其修改為指向網(wǎng)站目錄的正確文件夾。我們這里改為

 DocumentRoot "D:/WAMP/www"

同時(shí),查找 This should be changed to whatever you set DocumentRoot to(大概在207行),在它下面有行 <Directoy 默認(rèn)的DocumentRoot >,將其修改為你自己配置的DocumentRoot 路徑。我們這里修改為:

 <Directory "D:/WAMP/www">

4. 修改目錄首頁(yè)文件

 在配置文件 httpd.conf 中查找 DirectoryIndex index.html (大概在244行)將其修改成:

DirectoryIndex index.html index.htm index.php

DirectoryIndex 指的是當(dāng)客戶瀏覽器訪問(wèn)的路徑是一個(gè)目錄時(shí),Apache默認(rèn)執(zhí)行的文件。

以我們所修改的為例:當(dāng)客戶瀏覽器訪問(wèn)一個(gè)目錄時(shí),Apache會(huì)去找該目錄下的index.html,如果沒(méi)有再找index.htm,還沒(méi)有再找 index.php。都找不到則默認(rèn)顯示該目錄下的文件列表。參考文檔:如果防止Apache顯示文件列表

第四步:配置PHP

打開(kāi)PHP安裝目錄,即D:\WAMP\PHP,我們可以看到目錄下有兩個(gè)這樣的文件 php.ini-development 和 php.ini-production,第一個(gè)是開(kāi)發(fā)使用的配置文件,第二個(gè)是生產(chǎn)環(huán)境的配置,因?yàn)槲覀兪窃诒緳C(jī)做開(kāi)發(fā),所以選擇前者。將php.ini-development復(fù)制一份到同目錄下,并改名為 php.ini。這個(gè)php.ini 就是當(dāng)前使用的配置文件,以下幾步都是在修改這個(gè)php.ini文件的內(nèi)容。要注意的是,修改php.ini文件后需重新啟動(dòng)Apache服務(wù),新設(shè)置才會(huì)生效。

1. 指定PHP擴(kuò)展庫(kù)的存放目錄

在Windows下PHP的擴(kuò)展庫(kù)通常以 DLL 形式存放在PHP的ext目錄中。
使用文本工具打開(kāi)php.ini文件,查找extension_dir = "ext"(大概在809行),也就是在 On windows 下面那一行。把它前面的分號(hào)“;”去除掉,改為如下:

 extension_dir = "D:/WAMP/PHP/ext"

extension_dir 表示PHP擴(kuò)展庫(kù)的具體目錄,以便調(diào)用相應(yīng)的DLL文件。

2. 開(kāi)啟相應(yīng)的擴(kuò)展庫(kù)

默認(rèn)情況下許多PHP的擴(kuò)展庫(kù)都是關(guān)閉的,比如默認(rèn)PHP不支持連接Mysql數(shù)據(jù)庫(kù),需開(kāi)啟相應(yīng)的擴(kuò)展庫(kù)。
這里我們開(kāi)啟一些常用的擴(kuò)展庫(kù)。

查找 ; Windows Extensions(大概在941行),在它的下面是extension列表。

找到如下擴(kuò)展:

;extension=php_curl.dll
 ;extension=php_gd2.dll
 ;extension=php_mbstring.dll
 ;extension=php_exif.dll
 ;extension=php_mysql.dll
 ;extension=php_mysqli.dll
 ;extension=php_pdo_mysql.dll
 ;extension=php_pdo_odbc.dll
 ;extension=php_sockets.dll
 ;extension=php_xmlrpc.dll
 ;extension=php_xsl.dll

把以上extension 前面的分號(hào) “;” 去掉。如果你希望加載其它擴(kuò)展模塊,方法相同,只要去掉前面的分號(hào)即可。

提示1:重啟Apache提示 “unable to load dynamic library......php_curl.dll”,加載php_curl.dll錯(cuò)誤。解決方法是拷貝 PHP 目錄下的 libeay32.dll 和 ssleay32.dll 到 windows 目錄或 windows/system32 目錄下,只要是系統(tǒng) Path 環(huán)境變量里包含的路徑就可以。如果不想拷貝,你也可以直接把 PHP 路徑放到系統(tǒng) Path 環(huán)境變量里。 右擊我的電腦=>屬性=>高級(jí)=>環(huán)境變量=>系統(tǒng)變量里有個(gè)Path,雙擊打開(kāi),把你的PHP路徑加個(gè)分號(hào)“;”再前面( ;D:\WAMP\PHP ),添加進(jìn)去就OK了。重啟Apache不再提示該錯(cuò)誤。

提示2:Exif 擴(kuò)展是用來(lái)顯示圖片的 exif 信息的,因?yàn)樵摂U(kuò)展需要 mbstring.dll 支持,所以必須將 extension=php_exif.dll 這一行寫到extension=php_mbstring.dll 的后面。

提示3:如果PHP自帶的擴(kuò)展庫(kù)不能滿足你的需要,你可以去 pecl.php.net 查找并下載你需要的庫(kù)。windows用戶可以去 pecl4win.php.net 或者 http://downloads.php.net/pierre/ 下載已經(jīng)編譯好的DLL文件,也可以去http://museum.php.net/php5/ 載PECL集合壓縮包。

提示4:很多人在找php_zip.dll,其實(shí)從php5.3開(kāi)始已經(jīng)集成了zip擴(kuò)展,直接使用就行了。你可以用<?php phpinfo()  ?> 找到zip擴(kuò)展的說(shuō)明。

3. 讓PHP支持短標(biāo)簽

在 php.ini 配置文件查找 short_open_tag = Off (大概在266行)把它修改成:short_open_tag = On 讓其支持短標(biāo)簽。
php的代碼一般包含在<?php .... ?>的標(biāo)簽內(nèi),設(shè)置 short_open_tag = On 之后,可以寫成更簡(jiǎn)潔的形式:<? .... ?>。

4. 配置PHP的Session功能

在使用session功能時(shí),我們必須配置session文件在服務(wù)器上的保存目錄。我們需要為session建立一個(gè)可讀寫的目錄,這個(gè)目錄最好獨(dú)立于網(wǎng)站目錄之外。

這里把目錄上建在了D:\WAMP\sessiontmp,然后在 php.ini 配置文件中找 ;session.save_path = "/tmp" (大概在1467行),去掉前面的分號(hào)“;” ,改為如下:

 session.save_path = "D:/WAMP/sessiontmp"

5. 配置PHP的文件上傳功能

同session一樣,在使用PHP文件上傳功能時(shí),我們必須要指定一個(gè)臨時(shí)文件夾以完成文件上傳功能,否則文件上傳功能會(huì)失敗。
我們建立一個(gè)可讀寫的目錄文件夾 D:\WAMP\fileuploadtmp,然后在 php.ini 配置文件中找到 ;upload_tmp_dir = (大概875行),修改為:

 upload_tmp_dir = "D:/WAMP/fileuploadtmp"

PHP默認(rèn)上傳文件大小不超過(guò)2M,要想上傳大于2M的文件,請(qǐng)參考文檔  配置php.ini實(shí)現(xiàn)文件上傳功能。

6. 設(shè)置時(shí)區(qū)

在 php.ini 配置文件查找 ;date.timezone = (大概在993行),去掉前面的分號(hào)“;” 改為如下:

 date.timezone = PRC

date.timezone是PHP5.1開(kāi)始新增加的配置參數(shù),用來(lái)設(shè)置時(shí)區(qū)。默認(rèn)date.timezone是被注釋掉的,也就是默認(rèn)時(shí)區(qū)是UTC格林威治標(biāo)準(zhǔn)時(shí)間。

我們這里改為 date.timezone = PRC(PRC,People's Republic of China,中華人民共和國(guó)),也就是日期使用中國(guó)的時(shí)區(qū)。這樣可以解決時(shí)間相差八小時(shí)的問(wèn)題。

第五步:配置phpMyAdmin

打開(kāi)phpMyAdmin目錄,即D:\WAMP\WWW\phpMyAdmin,我們可以看到目錄下有一個(gè)config.sample.inc.php 文件,將這個(gè)文件復(fù)制一份到同目錄下,并改名為 config.inc.php。這個(gè)config.inc.php 就是phpMyAdmin的配置文件,以下幾步都是在修改這個(gè)config.inc.php 文件的內(nèi)容。

1. 設(shè)置phpMyAdmin登錄方式

打開(kāi)config.inc.php文件,查找 $cfg['Servers'][$i]['auth_type'] ,設(shè)置如下:

 $cfg['Servers'][$i]['auth_type'] = 'cookie';

這個(gè)參數(shù)的值設(shè)置為cookie,每次登錄phpMyAdmin需要輸入用戶名密碼。這也是phpMyAdmin的默認(rèn)設(shè)置。

然后找到  $cfg['blowfish_secret'],設(shè)置如下:

 $cfg['blowfish_secret'] = 'admin10000.com';

此參數(shù)用于Cookies的加密,這是設(shè)置為admin10000.com,你可以改成自己的密碼。

這里介紹一下phpMyAdmin 的四種登錄方式:

cookie:這是phpMyAdmin配置默認(rèn)的登錄方式。需在登錄界面輸入MySQL的管理賬號(hào)和密碼。
           當(dāng)選擇cookie登錄方式,還需要設(shè)置短語(yǔ)密碼 $cfg['blowfish_secret'] ,這個(gè)密碼用于Cookies的加密。
           例如:$cfg['blowfish_secret'] = 'admin10000.com';
           如果沒(méi)有設(shè)置,登錄phpMyAdmin會(huì)提示 “配置文件現(xiàn)在需要一個(gè)短語(yǔ)密碼” 的錯(cuò)誤。

config:直接在地瀏覽器地址欄輸入phpMyAdmin登錄地址即可登錄,任何人都可以訪問(wèn)。用戶名和密碼提前在配置文件中設(shè)定好。
           此登錄方式必須在配置文件中增加下面2行參數(shù):
           $cfg['Servers'][$i]['user'] = '你的MySQL登錄賬號(hào)';
           $cfg['Servers'][$i]['password'] = '你的MySQL登陸密碼;
           如果只是在本機(jī)器做開(kāi)發(fā),可以設(shè)置為config登錄方式,省去每次輸入密碼的麻煩。

http:彈出一個(gè)對(duì)話框,輸入用戶名和密碼后進(jìn)入。
signon:類似于頁(yè)面跳轉(zhuǎn)的登錄方式,同時(shí)需要設(shè)定$cfg['Servers'][$i]['SignonURL'],當(dāng)你輸入phpMyAdmin登錄地址后會(huì)自動(dòng)跳轉(zhuǎn)到signonURL設(shè)定的網(wǎng)址。

2. 開(kāi)啟phpMyAdmin 高級(jí)功能

登錄phpMyAdmin 后,在首頁(yè)面的最下方會(huì)提示:“phpMyAdmin 高級(jí)功能未全部設(shè)置,部分功能不可用”。
現(xiàn)在我們來(lái)解決這個(gè)問(wèn)題。使用phpMyAdmin的導(dǎo)入功能,導(dǎo)入phpMyAdmin/scripts/create_tables.sql 這個(gè)文件,從而建立必要的數(shù)據(jù)表。

接下來(lái)還需要新建一個(gè)MySQL用戶,并授予其訪問(wèn)上一步操作建立的數(shù)據(jù)表的權(quán)限,這個(gè)MYSQL用戶稱為控制用戶,為 phpMyAdmin 高級(jí)功能提供支持。

我們這里使用 pma 作為控制用戶以及 pmapass 作為控制用戶的密碼。你可以自行更改。

在phpMyAdmin的SQL查詢功能框中輸入以下SQL代碼:

 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';

接著我們?cè)?config.inc.php 中找到 User used to manipulate with storage 這一行。把它下面的2行參數(shù)注釋(雙斜杠“//”)去掉。

結(jié)果為:

 $cfg['Servers'][$i]['controluser'] = 'pma';
 $cfg['Servers'][$i]['controlpass'] = 'pmapass';

這兩行分別是控制用戶和控制用戶密碼。也就是上邊我們創(chuàng)建的那個(gè)用戶。

接著找到 Storage database and tables 這一行,把下面的幾個(gè)參數(shù)的注釋去掉。結(jié)果為:

 $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
 $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
 $cfg['Servers'][$i]['relation'] = 'pma_relation';
 $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
 $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
 $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
 $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
 $cfg['Servers'][$i]['history'] = 'pma_history';
 $cfg['Servers'][$i]['tracking'] = 'pma_tracking';
 $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
 $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';

第六步:測(cè)試

將如下代碼保存為index.php文件,放到D:\WAMP\WWW目錄下面。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>測(cè)試服務(wù)器</title>
 </head>
 <body>
 <div >
 <?php
 $link=mysql_connect("localhost","你的mysql管理賬號(hào)","你的mysql管理密碼");
 if(!$link) echo "MySQL數(shù)據(jù)庫(kù) 連接失敗!";
 else echo "MySQL數(shù)據(jù)庫(kù) 連接成功!";
 mysql_close();
 ?>
 </div>
 <br/>
 <?php phpinfo(); ?>
 </body>
</html>

然后在瀏覽器地址欄輸入“http://localhost:8080/index.php”。結(jié)果如下圖所示:

windows下apache搭建php開(kāi)發(fā)環(huán)境的案例

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“windows下apache搭建php開(kāi)發(fā)環(huán)境的案例”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI