大致的總結(jié)下,也算是長(zhǎng)個(gè)記性。
使用的安裝包分別是httpd-2.2.22-win32-x86-no_ssl .msi,php-5.2.5-Win32.zip和mysql-installer-community-5.5.28.3.msi,很顯然用的還算是比較新的安裝包。安裝apache還是比較順利的,一路安裝下來,默認(rèn)監(jiān)聽本機(jī)所有ip的80端口,當(dāng)然包括回環(huán)地址, 接著解壓php到指定文件夾,接著安裝mysql,打開安裝目錄下的httpd.conf文件,做如下調(diào)整:
ServerRoot "D:/Apache2.2" 服務(wù)器安裝根目錄
DocumentRoot "D:/phpWeb" 修改為自己的網(wǎng)站根目錄
# This should be changed to whatever you set DocumentRoot to.
<Directory "D:/phpWeb"> 與上一步進(jìn)行同步修改
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
<IfModule dir_module> 設(shè)置默認(rèn)的被請(qǐng)求文件
DirectoryIndex index.php index.html
</IfModule>
LoadModule php5_module "D:/php/php5apache2_2.dll" 以模塊的方式加載php,注意此處的php5apache2_2.dll對(duì)應(yīng)的apache 版本
LoadFile "D:/php/php5ts.dll" 手動(dòng)加載php動(dòng)態(tài)鏈接庫(kù) 或者 把這兩個(gè)文件放到system32文件目錄下
LoadFile "D:/php/libmysql.dll" 加載mysql動(dòng)態(tài)鏈接庫(kù)
PHPIniDir "D:/php" 非必要的配置
AddType application/x-httpd-php .php .html .htm 服務(wù)器端支持動(dòng)態(tài)文件類型
保存修改后,測(cè)試apache,重啟apache服務(wù)器,在瀏覽器中輸入localhost or 回環(huán)地址,頁(yè)面顯示 "It works !"到此說明,apache工作了。
測(cè)試php,在phpWeb目錄里編輯一個(gè)index.php 的文件,內(nèi)容為<?php phpinfo(); ?>,重復(fù)測(cè)試apache服務(wù)器的操作,頁(yè)面顯示php的配置信息,查看是否包括sql模塊,很想然沒有,因?yàn)閜hp默認(rèn)是不加載mysql模塊的。然后修改php.ini 文件,主要改動(dòng)點(diǎn)如下:
extension_dir = "D:/php/ext" 擴(kuò)展dll庫(kù)的位置
……
extension=php_mysql.dll 打開mysql的擴(kuò)展
對(duì)于php.ini的修改相當(dāng)郁悶,網(wǎng)上找了很多也做了各種修改,似懂非懂的就去嘗試,后來都不管用。 想想mysql是否安裝成功呢,開始用命令行查看,先看端口3306端口是否處于監(jiān)聽狀態(tài),使用netstat -a命令,再使用mysql workbench 測(cè)試與數(shù)據(jù)庫(kù)的連接是否成功,結(jié)果成功說明mysql安裝沒有問題,mysql 的配置文件是my.ini ,暫時(shí)不用動(dòng),默認(rèn)的配置可以工作。 于是問題出在php與mysql的銜接處,問題肯定出在php.ini文件。
開查php.ini,還是先看看phpinfo()給出的信息吧,看來看去怎么沒有mysql模塊,開始懷疑我之前是否打開了配置信息里的mysql 擴(kuò)展。God,打開的竟然是extension=php_mssql.dll.此處省略無數(shù)字。
Wahtever, 問題總算找到,測(cè)試一下,瞬間OK,欲哭無淚。但是回顧整個(gè)過程,時(shí)間主要浪費(fèi)在了細(xì)小的錯(cuò)誤上。 總結(jié)教訓(xùn): 面對(duì)問題不能不問百度google閉門造車但也不能盲信盲從 ; 面對(duì)問題更多的是持續(xù)關(guān)注問題,自己分析問題。
下一步詳細(xì)分析httpd.conf php.ini my.ini ,靈活配置,并對(duì)web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行性能調(diào)優(yōu),然后移植網(wǎng)站到新崛起的Nginx web服務(wù)器等。貌似有點(diǎn)偏題了,當(dāng)然主要目的還是學(xué)習(xí)可愛的PHP.