本文轉自:http://hi.baidu.com/guolaiba/item/acb9eadc385d5af193a974be
Win7 64位操作系統下配置PHP+MySql+Apache環境
注:
1./* */ 之間的為步驟或注釋,不要粘到配置文件內 2.Apach配置時是用的“/”,而php配置時用的是“\”,一定要區分好 3.如何你自定義了安裝目錄,請自行將下面的用到的目錄進行對應更改
一、安裝軟件准備
軟件版本以本人安裝為例,其他版本同理,軟件可到各官網下載,也可Q我:495517252 1、Apache(httpd-2.2.19-win64) 2、PHP(php-5.3.6-Win32-VC9-x64) 3、MySQL(MySQL_5.5.13_winx64)
二、安裝Apache
1、64位的Apache不同於32位打包成exe文件可直接安裝,先把httpd-2.2.19-win64解壓到“D:\server”目錄下 /*若沒有server目錄就創建后再解壓*/
2、以管理員身份運行 命令提示符(開始-程序-附件),然后進入“D:\server\httpd-2.2-x64\bin”目錄 /*步驟,開始-->程序-->附件-->右擊打開“命令提示符”,輸入“D:”回車-->輸入“D:\server\httpd-2.2-x64\bin”回車*/
3、執行 httpd -k install /*即輸入 httpd -k install 下面遇到執行***,也同此處*/
正確的結果如下 : /*若出錯請看,執行:“控制面板”-->“用戶賬戶”-->“更改用戶賬戶控制設置”,改成從不通知(即拉到下頭),完成后會提示重啟,此時需要重啟一下,記得整個過程裝完后改回!!*/
4、修改“D:\server\httpd-2.2-x64\conf\httpd.conf”的配置信息,這里跟32位系統里配置一樣
(1)用記事本或其它文本編輯工具打開“D:\server\httpd-2.2-x64\conf\httpd.conf”
(2)轉到第35行,/*小提示:用記事本修改的話可以使用“Crtl+g”轉到指定行*/ 修改為ServerRoot "D:/server/httpd-2.2-x64" /*直接粘過去替換即可,下面也一樣*/ (3)轉到第129行,會看到apache開啟的功能模塊如:#LoadModule vhost_alias_module modules/mod_vhost_alias.so
模塊其后添加:
LoadModule php5_module "D:/Server/php-5.3.6-Win32-VC9-x64/php5apache2_2.dll"
PHPiniDir "D:/Server/php-5.3.6-Win32-VC9-x64"
AddType application/x-httpd-php .html .htm .php /*將上面三行粘到第129~131行即可*/
(4)轉到第182行,設置網頁文件存放目錄,我的存在在“D:\htdocs”
設置為 DocumentRoot "D:/htdocs" /*此步請按自身的實際存在目錄進行設置*/
此行修改要與第209行目錄設置相對應 所以第209行對應修改為 <Directory "D:/htdocs">
5、再次在 命令提示符 執行httpd -k start 沒有錯誤即apache服務啟動成功 結果如下:
//如果出錯,請轉到下面的“關於關掉占用”,然后再次執行httpd -k start 正常的話,進入下一步的php配置
三、配置PHP
1、將“php-5.3.6-Win32-VC9-x64.zip”解壓到“D:\server\php-5.3.6-Win32-VC9-x64”,若目錄不存在請先創建后再解壓。
即對應上步在Apache中設置的LoadModule位置
2、將“D:\server\php-5.3.6-Win32-VC9-x64\”下的“php.ini-development”修改成“php.ini” /*注意php.ini為改名后的全名,包含后綴名*/
3、轉到第531行, 修改為 display_errors = Off /*此處控制是否顯示php錯誤,默認開啟提示,建議在網站上線前調為Off*/
4、轉到第807行, 修改為 extension_dir = "D:/server/php-5.3.6-Win32-VC9-x64/ext/" 即php文件所在目錄下/ext /*注意前面的“;”已被去除*/
5、找到擴展列表,;extension=php_gd2.dll、;extension=php_mysql.dll、;extension=php_mysqli.dll將其前面的”;”去掉即為開啟該擴展,
你也可根據功能需求不同開啟相應擴展,方法同此 /*它們分別在第950、959、960行*/
6、(可選)date.timezone的值設為Asia/Shanghai即date.timezone =Asia/Shanghai /*位置在第997行*/
四、安裝MySql
1、雙擊MySQL安裝包,點擊Next。
2、選中“I accept the terms in the License Agreement”,點擊Next。
Choose Setup Type(選擇安裝選項),有三種:Typical(典型), Custom(自定義) , Complete(完全)。
這里我們選Custom,然后點擊Next。
3、Custom Setup(自定義安裝設置),這里依然點擊倒三角選擇"Entire feature will be installed on local hard drive"把所有的全部安裝上去,
然后點擊下面的Change按鈕,選擇安裝位置后,點擊Next。
注意:一定要檢查所有選項安裝位置,最好都裝在同一個位置。我這里為了省事起見未做修改。
/*此處共有6個條目但只需更改第1個和第6個的安裝位置,其它條目會自動調整過去的。--建議新手可以不做更改*/
4、Ready to Install the Program(准備安裝程序),觀察中間的設置,確定無誤后,點擊Next,否則,點擊Back后修改。
5、在安裝的過程中會出現一個新窗口,是給MySQL Enterprise(MySQL企業版)打廣告的,忽視掉,一直Next,點的慢些(不是直接點Finish),
直到出現FInish界面。 //此時先看下一條,不要亂點。
6、Wizard Complete(安裝向導完成),點擊Launch the MySQL Instance Configuration Wizard(啟動mysql配置向導)前面的復選框(默認是勾選,不關管它),
然后點擊Finish,這樣就進入了MySQL配置界面。
7、不用說,點擊Next。
8、選擇配置方式(Please select a configuration type)。
這里出現了兩種選項,一種是Detailed Configuration(詳細配置),一種是Stardard Configuration(標准配置),
這里我們選擇Detailed Configuration,然后點擊Next。
9、選擇服務器類型(Please select a server type)。
有三種選項:Developer Machine(開發測試用),Server Machine(服務器用),Dedicated MySQL Server Machine(專門的服務器用),
由於我是用來開發的,所以選擇了第一項,然后點擊Next。
10、選擇數據庫用途(Please select a database usage)。
有三種:第一種是Multifuctional Database,第二種是Transactional Database Only,第三種是Non-Transactional Database Only,
這兒三個選項的區別我也不怎么理解,但依照英文注釋以及網上其他的帖子參考就選擇了第一項Multifuctional Database,然后點擊Next。
11、選擇InnoDB數據庫文件存儲位置(Please select the drive for the InnoDB datafile),默認是安裝的MySQL位置。保持默認,直接點擊Next。
12、選擇同時連接到服務器的准確訪問量(Please set the approximate number of concurrent connections to the server)。三個選項:第一個是Decision Support(DSS)/OLAP(大約20個),第二個是Online Transaction Processing(OLTP)(大約500個),第三個是Manual Settings(手動設置),由於我是為了開發測試用,所以選擇第一個就可以了,然后點擊Next。
13、網絡選項(Please select the networking options)。第一個是是否啟用TCP/IP連接,選上,第二個是啟用嚴格模式(Enable Strict Mode),我選了,建議新手選上,這樣代碼更規范些,然后點擊Next。
14、選擇默認字符集(Please select the character set)。第一個是Stardard Character Set(標准字符集),默認是Latin1,適合存儲英文;第二個是Best Support for Multilingualism(最適合多語言),默認是utf8,適合存儲多語言字符集;第三個是手動選擇。這里我們選擇UTF8編碼,即選擇第二種或者第三種中的UTF8,然后點擊Next。 15、設置windows選項(Please set the windows options)。第一項是是否安裝為Windows服務(Install As Windows Service),建議勾選上,下面的Service Name是服務器標識名稱,默認即可,還有個是否隨機啟動MySQL的選項,如果沒選的話,以后開啟MySQL需要在cmd上輸入net start mysql。第二項是是否把bin文件夾路徑加入環境變量中的Path(Include Bin Directory in Windows PATH),建議勾選,這樣以后可以直接在cmd上輸入bin文件夾上的任意一個文件使用,然后點擊Next。
16、安全選項(Please set the security options)。第一項是修改安全設置(Modify Security Settings),這項中的兩項分別是新root密碼和確認輸入的密碼(即再輸入一遍),最下面的是創建一個匿名帳號(Create An Anonymous Account),先選上,回頭安裝完記得去除,然后點擊Next。
/*此步出錯的幾率有點大,出錯原因可能是端口被占,也可能是密碼有誤,但這些錯誤這在個界面並不會提示,如果后面的步驟提示:ERROR 1045請參照下面方法,然后從步驟1開始重裝mysql,沒有則跳過。
//關於修改root密碼
1) 以系統管理員身份登錄到系統;
2) 如果MySQL服務器正在運行,停止它。
3) 如果是作為Windows服務運行的服務器,進入服務管理器:開始菜單->控制面板->管理工具->服務找到MySQL服務停止它。
4) 如果服務器不是作為服務而運行的,可能需要使用任務管理器來強制停止它。
5) 創建1個文本文件,並將下述命令置於單一行中: SET PASSWORD FOR = PASSWORD('MyNewPassword');
6) 用任意名稱保存該文件。在本例中,該文件為C:\mysql-init.txt。
7) 進入DOS命令提示:開始菜單->運行-> cmd
8) 假定你已將MySQL安裝到C:\mysql。如果你將MySQL安裝到了另一位置,請對下述命令進行相應的調整。 在DOS命令提示符下,執行命令: C:\mysql\bin\>mysqld-nt --init-file=C:\mysql-init.txt
9) 在服務器啟動時,執行由”--init-file”選項(作用:在啟動時從指定的文件中讀取SQL命令)命名的文件的內容,更改根用戶密碼。當服務器成功啟動后,應刪除C:\mysql-init.txt。 //關於關掉占用 開始--運行--cmd 進入命令提示符 輸入netstat -ano 即可看到所有連接的PID 之后在任務管理器中找到這個PID所對應的程序如果任務管理器中沒有PID這一項,可以在任務管理器中選"查看"-"選擇列"
在windows命令行窗口下執行:
1)查看所有的端口占用情況 C:\>netstat -ano
2)查看指定端口的占用情況 C:\>netstat -aon|findstr "3306" //3306為端口號
3)查看PID對應的進程 C:\>tasklist|findstr "2016" //2016為PID 4)結束該進程 C:\>taskkill /f /t /im tor.exe //tor.exe為具體進程 備注: tasklist taskkill命令在xp下有效 */
17、准備執行剛才的設置(Ready to execute),確定無誤后,點擊Execute。過一會執行完成后,點擊Finish結束設置。
18、打開mysql的安裝文件夾,在lib文件夾內找到libmysql.dll,將其拷貝到系統的system32文件夾中,然后重啟Apache。/*我采用的是默認安裝,所以我的源文件位置在C:\Program Files\MySQL\MySQL Server 5.5\lib\,若自定義了安裝目錄請自行調整*/
19、在D:/ htdocs/下創建一test.php文件,內容為 <?php phpinfo(); ?> 然后在瀏覽器地址欄中輸入http://localhost/test.php 看到如下圖示信息表示配置成功,下圖標紅處若為“(none)”則請檢查上面的步驟是否有遺漏/*記得將瀏覽器語言調整成utf-8*/
20、最后,在站點目錄下修改index.php:
<?php
$host='localhost';
$user_name='root';
$password='****';//這里****是你設置的密碼
$conn=mysql_connect($host,$user_name,$password);
if (!$conn) {
die('數據庫連接失敗:'.mysql_error());
} echo '數據庫連接成功!';
if (mysql_close($conn))
{ echo '<br/>...<br/>';
echo '到數據庫的連接已經成功關閉'; }
?>
然后在瀏覽器上輸入http://localhost,若出現如下字樣: 數據庫連接成功! ...
到數據庫的連接已經成功關閉 則表明一切大功告成!
不少文章都沒有第18步,讓許多新人很是困擾(步驟全照做還是不成功).當初我也被困擾了一周之久,網上的資料都是說把php.ini復制到系統盤,可是依然無用。。。
最后祝大家都能有個多心情!!!