apache服務器沒什麼可說的地方,盡量去官網下載個最新的。
有一個地方需要注意:php教程是以模塊的形式加載到apache這個容器裡面的,就是你在配置apache加載php模塊的時候,注意那個路徑的問題。具體配置語句
loadmodule php5_module d:/php/php5apache2.dll 是指以module方式加載php
phpinidir "d:/php" 是指明php的配置文件php.ini的位置
這個路徑中盡量不要出現空格,比如我的路徑是 loadmodule php5_module d:/peogram files/php/php5apache2.dll這個就會導致錯誤,你需要換成相對路徑,比如"../php/php5apache2.dll",但是相對路徑一定要正確,這要看你怎麼安裝各個模塊的,建議安裝在統一目錄下,方便管理。
php就得注意一下,這個問題很讓人糾結。下面是php的下載
vc6是什麼?
vc6就是legacy visual studio 6 compiler,就是使用這個編譯器編譯的。
vc9是什麼?
vc9就是the visual studio 2008 compiler,就是用微軟的vs編輯器編譯的。
那我們如何選擇下載哪個版本的php呢?
如果你是在windows下使用apache+php的,請選擇vc6版本;
如果你是在windows下使用iis+php的,請選擇vc9版本;
那non thread safe是什麼?
non thread safe就是非線程安全;
thread safe 是什麼?
non thread safe 是線程安全;
官方並不建議你將non thread safe 應用於生產環境,所以我們選擇thread safe 版本的php來使用
我選擇的是vc6 x86 thread safe (2011-jan-06 18:56:08),因為我是在windows下搭建的apache服務器。
php直接解壓就算是安裝。按教程一步一步的走就可以。
經常出現的問題是:
unable to load dynamic library 'd:/server/php/ext/php_exif.dll'
unable to load dynamic library 'd:/server/php/ext/php_fdf.dll'
unable to load dynamic library 'd:/server/php/ext/php_ifx.dll'
……
類似的錯誤,解決辦法是
1.修改php.ini文件的extension_dir配置到你正確的php/ext/,因為這個文件夾裡面是你所有的擴張模塊,包括mysql教程之類的。
2.把你的php安裝目錄下的dll文件,php/ext文件下的dll文件統統復制到widows/0system32下面去,或者你修改系統環境變量path,加上;d:/www/php;d:/www/php/ext;這是我的安裝目錄。這個實現的效果跟復制到system32下面是一樣的,具體原因我也不知道為啥,我只知道程序運行的時候首先去system32下面找相應的庫文件進行加載,如果找到就停止,如果找不到就去path下面去尋找,如果再找不到,就去配置文件extesion_dir下面去找,再找不到就報錯,所以如果你電腦上以前安裝過php4的話,請先把system32下面相應的dll文件刪除掉。
3.這些加載的模塊,是加載還是刪除是在php.ini裡面配置的
類似於extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
extension=php_intl.dll
一定要注意請不要把所有的模塊都啟動,雖然系統資源浪費也多不了哪去,但是默認的php5安裝包下並不一定存在這個模塊的相應dll,所以你應該按照系統錯誤提示把相應的模塊給停用了,停用方法,跟你是怎麼開啟模塊是相反的。
4.還有就是模塊之間會有依賴性,比如我想要開啟extension=php_exif.dll這個模塊,那麼就必須先開啟extension=php_mbstring.dll模塊,這也可能是你加模塊不成功的原因。
安裝mysql很簡單,直接按提示安裝就行,不需要與服務器各個模塊之間進行配置
由於目前phpmyadmin的最新版本已經更新到了2.11.5.1,網上流傳的很多配置方法都是以前老版本的,已經不太適應新版本的配置要求;於是flymorn順便也把phpmyadmin2.11.5.1的配置步驟也列在下面;為了切換及調試php方便,我采用的是windows系統,本地調試。
1、先下載phpmyadmin安裝包:
到國外官方網站http://www.phpmyadmin.net上,點擊導航欄上的“downloads”鏈接進入下載頁面,選擇“all-languages.zip”版本下載到本地,解壓;把解壓縮文件放到系統指定的虛擬根目錄下的phpmyadmin文件夾裡(可自定義文件夾名),如flymorn的本地存放位置是d:wwwphpmyadmin裡。
2、找到phpmyadmin文件夾裡的/libraries/config.default.php文件(舊版本是根目錄下的config.inc.php文件),用支持utf-8編碼的寫字板打開進行編輯。
3、查找 $cfg['pmaabsoluteuri']
修改為你將上傳到空間的phpmyadmin的網址
如:$cfg['pmaabsoluteuri'] = 'http://www.piaoyi.org/phpmyadmin/';
這裡因為我是本地調試,我改為$cfg['pmaabsoluteuri'] = 'http://localhost/phpmyadmin/';
注意:不要漏掉最後的反斜槓/和開頭的http。
4、查找 $cfg['servers'][$i]['host'] = 'localhost';(通常用默認,也有例外,可以不用修改)
5、查找 $cfg['servers'][$i]['auth_type'] = 'config';
在自己的機子裡調試用config;如果在網絡上的空間用cookie,這裡我們既然在前面已經添加了網址,就修改成cookie。
我個人建議:無論是本地還是網絡上,都建議設置成cookie,安全第一。
同時,當auth_type這個值設置為cookie後,還有一個地方需要作出相應的修改:
$cfg['blowfish_secret'] = '';
改成:$cfg['blowfish_secret'] = 'www.piaoyi.org';
這裡的www.piaoyi.org自己隨便定義,不超過46個字符。如果這個地方留空,將會出現上文提到的第2個錯誤:“配置文件現在需要絕密的短語密碼(blowfish_secret)”。
6、查找 $cfg['servers'][$i]['user'] = 'root'; // mysql user(用戶名,自己機裡用root;在網上一般為你的ftp用戶名,虛擬主機提供商會告訴你的;一般不要修改)
7、查找 $cfg['servers'][$i]['password'] = '123456'; // mysql password (123456修改成連接你的mysql數據庫教程的用戶密碼)
8、查找 $cfg['defaultlang'] = 'zh'; (這裡是選擇語言,zh代表簡體中文的意思) 還有 $cfg['defaultcharset'] = 'gb2312';(修改默認編碼為國標)
到這裡,phpmyadmin就已經配置完成ok;你可以打開http://localhost/phpmyadmin/訪問方便快捷的圖形化管理軟件phpmyadmin了。關於本文沒有提到的配置文件裡的其他選項,大家可以不用關心了也不必修改。關於具體如何操作phpmyadmin不在本文討論的范圍內,不過圖形化界面,是通俗易懂,稍微看看就會用了(參考)。
下面談談,flymorn在安裝配置phpmyadmin的過程中所遇到的幾個問題。
第一個問題:“無法載入mcrypt擴展,請檢查php配置”。
1、沒有正確安裝mysql數據庫,在系統服務中mysql相關的服務沒有啟動。
2、在系統的 system32(c:windowssystem32) 目錄下缺少 libmcrypt.dll文件,解決方法是找到php目錄下的libmcrypt.dll,並將libmcrypt.dll復制到c:windowssystem32目錄中,然後重新啟動web服務。
3、在php目錄下的php.ini文件中,沒有將“;extension=php_mcrypt.dll”中的前面一個“;”去掉,所以不能使用相應功能,解決方法是打開php.ini文件,找到;extension=php_mcrypt.dll改成extension=php_mcrypt.dll //去掉前面的;使之生效
4、mysql目錄沒有讀取權限,正確的目錄權限如下:
administrator 完全控制
system 完全控制
user 讀取加運行
其他的用戶權限全部刪除(也可保留,但安全性不高,建議刪除),然後重啟mysql服務和web服務(建議修改此項後重啟一下服務器)。
5、以上方法都不行的話,再用這個方法:桌面>我的電腦>右鍵屬性>高級>環境變量>系統變量>新建
名:phpdir
值:c:php(你的php在什麼目錄就是什麼)
(參考來源:地址)
第二個問題:“無法載入 mysql 擴展,請檢查 php 配置”
把 php 目錄下的 libmysql.dll 復制到:c:windowssystem32 下,然後重啟apache。
第三個問題:“配置文件現在需要絕密的短語密碼(blowfish_secret)”
確保在config.default.php文件裡面進行了正確的設置 :
$cfg['servers'][$i]['auth_type']= 'cookie';
同時
$cfg['blowfish_secret'] = 'www.piaoyi.org'; //(這個值隨便寫,就是不能留空)
其實這個問題,我碰到了確實很郁悶,如果按照我在上面提到的配置方法做了,應該不會提示這個錯誤。經過我2個多小時不停的修改config.default.php配置文件,始終提示這個錯誤,幾乎達到了崩潰的邊緣了。
然後就是靈光一現,突然發現:我把auth_type認證方式改為http,改為config時,打開頁面始終出現這個錯誤,也就是說改變了認證模式,並沒有對phpmyadmin起作用,難道是其他的配置文件在影響決定著phpmyadmin?
立馬來到phpmyadmin根目錄,赫然發現根目錄下有一個config.sample.inc.php文件存在的同時,還有一個文件config.inc.php也存在!!而這個是以前老版本的配置文件,原來是這個文件搗的鬼。馬上刪除config.inc.php,再進入調試頁面,錯誤消失了!問題解決。
看來phpmyadmin根目錄下的config.inc.php配置文件的優先級比/libraries/config.default.php的配置文件高,系統是先調用根目錄裡的配置文件,然後才是libraries文件夾裡的配置文件,艾,這個問題,折騰了這麼久,嗚呼哀哉。總歸解決了,舒一口氣啊。
第四個問題:“#2003-服務器沒有響應”。
遇到這個問題多半是mysql數據庫沒有啟動,建議直接在在:控制面板-管理工具-服務裡面把mysql啟動。關於是否啟動,你可以在任務管理器裡查看是否有“mysqld-nt.exe”這樣的進程,如有有,則說明mysql已經啟動。
第五個問題:“沒有發現php的擴展設置mbstring”。
修改 c:windows 下的 php.ini 文件,找到 ;extension=php_mbstring.dll 把;去掉,保存 php.ini,重新啟動apache即可。