首頁»PHP»Windows+Apache搭建PHP開發環境

                    Windows+Apache搭建PHP開發環境

                    來源:Web開發者 發布時間:2011-12-30 閱讀次數:

                    本文詳細介紹了在Windows2003下使用Apache2.2.21/PHP5.3.5/Mysql5.5.19/phpMyAdmin3.4.9搭建php開發環境。

                    第一步:下載安裝的文件

                    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. 建議選擇無SSL功能的Apache版本來完成開發,因此我們這里使用了Apache 2.2.21-win32-x86-no ssl.msi。
                    2. Windows下安裝MySQL就選擇.msi安裝包格式,我們選擇了mysql-5.5.19-win32.msi ,雙擊根據向導安裝即可,簡單方便。
                    3. PHP我們選擇用Windows的.zip版本,php-5.3.5-Win32-VC6-x86.zip。從安全性和性能來說,都是zip版本的好,一般服務器也都是安裝這個版本的。
                        不要下載NTS版本或VC9版本的,因為VC9是專門為IIS定制的,而VC6 是為Apache或其他WEB服務軟件提供的。
                    4. phpMyAdmin是以PHP為基礎的在線MySQL管理工具,在進行phpMyAdmin3 安裝時需要的PHP環境至少為PHP5.2,MySQL5 以上的版本,我們這里都符合要求。

                    第二步:安裝文件

                    1. 在要安裝的磁盤建一個文件夾。為了管理方便我們在D盤的根目錄下創建一個WAMP文件夾。 D:\WAMP(WAMP是 windows+apache+mysql+php的縮寫)。
                    2. 在WAMP文件夾下創建一個WWW文件夾,用來存放你的PHP網站程序。D:\WAMP\WWW。
                    3. 安裝Apache服務器,把Apache服務器安裝到 D:\WAMP\Apache 文件夾。具體Apache安裝過程可以參考文檔 Apache安裝圖解
                    4. 把下載的php-5.3.5-Win32-VC6-x86解壓到 D:\WAMP\PHP 文件夾。
                    5. 安裝MySql數據庫,把MySQL安裝到 D:\WAMP\MySQL文件夾。具體MySQL安裝過程可以參考文檔 MySQL安裝圖解
                    6. 解壓phpMyAdmin-3.4.9-all-languages.zip,然后重命名為phpMyAdmin,將其復制到PHP網站程序目錄。結果為 D:\WAMP\WWW\phpMyAdmin。

                    第三步:配置Apache

                    首先使用文本編輯工具(推薦 EditPlus )打開 D:\WAMP\Apache\conf\httpd.conf 文件,這個文件是Apache的配置文件,下面幾步都是在修改這個文件的內容。
                    要注意的是修改完 httpd.conf 文件需重新啟動Apache服務,新設置才會生效。

                    1. 設置監聽端口

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

                            Listen 8080

                    這個參數用來設置Apache服務器的監聽端口,一般默認為80。修改為8080 是為了避免和Windows 2003系統的IIS端口號沖突,如果你沒有啟用IIS,也可以使用默認的80端口號。

                    2. 讓Apache加載PHP模塊

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

                    	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擴展名的文件作為php腳本執行。你可以使用你喜歡的任何其他擴展名,如 .html、.php5 甚至是 .txt  來執行PHP。
                    PHPIniDir "D:/WAMP/PHP"
                    這句用來指定PHP的配置文件php.ini 所在的目錄。
                    如果是Apache 2 以module模塊方式運行php5的話,就可以使用 PHPIniDir 指令。

                    3. 修改網站存放目錄

                    我們知道Apache默認的網站存放目錄為Apache安裝目錄下的htdocs文件夾。當你更改網站存放目錄,就必須修改相應的Apache配置。
                    在配置文件 httpd.conf 中查找 DocumentRoot(大概在182行),將其修改為指向網站目錄的正確文件夾。我們這里改為

                    	DocumentRoot "D:/WAMP/www"

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

                    	<Directory "D:/WAMP/www">

                    4. 修改目錄首頁文件

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

                    	DirectoryIndex index.html index.htm index.php

                    DirectoryIndex 指的是當客戶瀏覽器訪問的路徑是一個目錄時,Apache默認執行的文件。
                    以我們所修改的為例:當客戶瀏覽器訪問一個目錄時,Apache會去找該目錄下的index.html,如果沒有再找index.htm,還沒有再找 index.php。都找不到則默認顯示該目錄下的文件列表。參考文檔:如果防止Apache顯示文件列表

                    第四步:配置PHP

                    打開PHP安裝目錄,即D:\WAMP\PHP,我們可以看到目錄下有兩個這樣的文件 php.ini-development 和 php.ini-production,第一個是開發使用的配置文件,第二個是生產環境的配置,因為我們是在本機做開發,所以選擇前者。將php.ini-development復制一份到同目錄下,并改名為 php.ini。這個php.ini 就是當前使用的配置文件,以下幾步都是在修改這個php.ini文件的內容。要注意的是,修改php.ini文件后需重新啟動Apache服務,新設置才會生效。

                    1. 指定PHP擴展庫的存放目錄

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

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

                    extension_dir 表示PHP擴展庫的具體目錄,以便調用相應的DLL文件。

                    2. 開啟相應的擴展庫

                    默認情況下許多PHP的擴展庫都是關閉的,比如默認PHP不支持連接Mysql數據庫,需開啟相應的擴展庫。
                    這里我們開啟一些常用的擴展庫。
                    查找 ; Windows Extensions(大概在941行),在它的下面是extension列表。
                    找到如下擴展:

                            ;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 前面的分號 “;” 去掉。如果你希望加載其它擴展模塊,方法相同,只要去掉前面的分號即可。
                    提示1:重啟Apache提示 “unable to load dynamic library......php_curl.dll”,加載php_curl.dll錯誤。解決方法是拷貝 PHP 目錄下的 libeay32.dll 和 ssleay32.dll 到 windows 目錄或 windows/system32 目錄下,只要是系統 Path 環境變量里包含的路徑就可以。如果不想拷貝,你也可以直接把 PHP 路徑放到系統 Path 環境變量里。 右擊我的電腦=>屬性=>高級=>環境變量=>系統變量里有個Path,雙擊打開,把你的PHP路徑加個分號“;”再前面( ;D:\WAMP\PHP ),添加進去就OK了。重啟Apache不再提示該錯誤。
                    提示2:Exif 擴展是用來顯示圖片的 exif 信息的,因為該擴展需要 mbstring.dll 支持,所以必須將 extension=php_exif.dll 這一行寫到extension=php_mbstring.dll 的后面。
                    提示3:如果PHP自帶的擴展庫不能滿足你的需要,你可以去 pecl.php.net 查找并下載你需要的庫。windows用戶可以去 pecl4win.php.net 或者 http://downloads.php.net/pierre/ 下載已經編譯好的DLL文件,也可以去http://museum.php.net/php5/ 載PECL集合壓縮包。
                    提示4:很多人在找php_zip.dll,其實從php5.3開始已經集成了zip擴展,直接使用就行了。你可以用<?php phpinfo()  ?> 找到zip擴展的說明。

                    3. 讓PHP支持短標簽

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

                    4. 配置PHP的Session功能

                    在使用session功能時,我們必須配置session文件在服務器上的保存目錄。我們需要為session建立一個可讀寫的目錄,這個目錄最好獨立于網站目錄之外。
                    這里把目錄上建在了D:\WAMP\sessiontmp,然后在 php.ini 配置文件中找 ;session.save_path = "/tmp" (大概在1467行),去掉前面的分號“;” ,改為如下:

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

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

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

                            upload_tmp_dir = "D:/WAMP/fileuploadtmp"
                    

                    PHP默認上傳文件大小不超過2M,要想上傳大于2M的文件,請參考文檔  配置php.ini實現文件上傳功能

                    6. 設置時區

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

                    	date.timezone = PRC
                    

                    date.timezone是PHP5.1開始新增加的配置參數,用來設置時區。默認date.timezone是被注釋掉的,也就是默認時區是UTC格林威治標準時間。
                    我們這里改為 date.timezone = PRC(PRC,People’s Republic of China,中華人民共和國),也就是日期使用中國的時區。這樣可以解決時間相差八小時的問題。

                    第五步:配置phpMyAdmin

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

                    1. 設置phpMyAdmin登錄方式

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

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

                    這個參數的值設置為cookie,每次登錄phpMyAdmin需要輸入用戶名密碼。這也是phpMyAdmin的默認設置。

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

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

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

                    這里介紹一下phpMyAdmin 的四種登錄方式:
                    cookie:這是phpMyAdmin配置默認的登錄方式。需在登錄界面輸入MySQL的管理賬號和密碼。
                               當選擇cookie登錄方式,還需要設置短語密碼 $cfg['blowfish_secret'] ,這個密碼用于Cookies的加密。
                               例如:$cfg['blowfish_secret'] = 'admin10000.com';
                               如果沒有設置,登錄phpMyAdmin會提示 “配置文件現在需要一個短語密碼” 的錯誤。
                    config:直接在地瀏覽器地址欄輸入phpMyAdmin登錄地址即可登錄,任何人都可以訪問。用戶名和密碼提前在配置文件中設定好。
                               此登錄方式必須在配置文件中增加下面2行參數:
                               $cfg['Servers'][$i]['user'] = '你的MySQL登錄賬號';
                               $cfg['Servers'][$i]['password'] = '你的MySQL登陸密碼;
                               如果只是在本機器做開發,可以設置為config登錄方式,省去每次輸入密碼的麻煩。
                    http:彈出一個對話框,輸入用戶名和密碼后進入。
                    signon:類似于頁面跳轉的登錄方式,同時需要設定$cfg['Servers'][$i]['SignonURL'],當你輸入phpMyAdmin登錄地址后會自動跳轉到signonURL設定的網址。

                    2. 開啟phpMyAdmin 高級功能

                    登錄phpMyAdmin 后,在首頁面的最下方會提示:“phpMyAdmin 高級功能未全部設置,部分功能不可用”。
                    現在我們來解決這個問題。使用phpMyAdmin的導入功能,導入phpMyAdmin/scripts/create_tables.sql 這個文件,從而建立必要的數據表。
                    接下來還需要新建一個MySQL用戶,并授予其訪問上一步操作建立的數據表的權限,這個MYSQL用戶稱為控制用戶,為 phpMyAdmin 高級功能提供支持。
                    我們這里使用 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';       

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

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

                    這兩行分別是控制用戶和控制用戶密碼。也就是上邊我們創建的那個用戶。

                    接著找到 Storage database and tables 這一行,把下面的幾個參數的注釋去掉。結果為:

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

                    第六步:測試

                    將如下代碼保存為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>測試服務器</title>
                            </head>
                            <body>
                                <div style="text-align:center; color:red">
                                <?php
                                    $link=mysql_connect("localhost","你的mysql管理賬號","你的mysql管理密碼");
                                    if(!$link) echo "MySQL數據庫 連接失敗!";
                                    else echo "MySQL數據庫 連接成功!";
                                    mysql_close();
                                ?>
                                </div>
                                <br/>
                                <?php phpinfo(); ?>
                            </body>
                    </html>
                    

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

                    相關文檔:Apache虛擬主機配置    Apache下PHP的幾種工作方式    Apache以FastCGI方式運行PHP

                    QQ群:WEB開發者官方群(515171538),驗證消息:10000
                    微信群:加小編微信 849023636 邀請您加入,驗證消息:10000
                    提示:更多精彩內容關注微信公眾號:全棧開發者中心(fsder-com)
                    網友評論(共1條評論) 正在載入評論......
                    理智評論文明上網,拒絕惡意謾罵 發表評論 / 共1條評論
                    登錄會員中心
                    福彩试机号今天 中彩票 博雅德州扑克最早版本 安徽十一选五开奖52期 体彩481投注金额怎么算 山东体育彩票软件 欢乐斗地主欢乐豆不够 欢乐升级手机版下载地址 1479期南国彩票论坛 顶呱刮 云南快乐十分玩法技巧 开奖赛马会主论坛 黑龙江快乐十分钟直播 幸运农场20选8如何选号 三分赛车是哪里的彩票 模拟北京pk10平台