[Server]Apache+PHP+MySQL架設過程記錄

posted in: C/C++程式設計, MySQL, Server | 0

記錄一下比較關鍵的問題
這樣以後裝的時候才不用一直去google~

apache:
在安裝過後如果一直無法成功將啟動的話,
到console模式apache安裝資料夾的bin底下,執行:
httpd.exe -w -n “Apache2.2” -k start

這樣就會詳細列出錯誤,會比較好debug

當然,”Apache2.2″要看你安裝的版本而改變

這個階段會打不開的原因,大致上都是因為port衝到,
例如skype預設是用80 port,所以要先將他關掉

在正式測試之前,記得到防火牆把80port打開

PHP:
比較大的問題是在安裝之後,在重啟apache的時候會無法打開,用上面的方法來找原因則會出現apache2_2.dll無法載入的訊息。這時候請開啟apache的httpd.conf,找出php相關設定將其改成以下內容:

#BEGIN PHP INSTALLER EDITS – REMOVE ONLY ON UNINSTALL
PHPIniDir “C:\workspace\PHP”
LoadModule php5_module “C:\workspace\PHP\php5apache2_2.dll”
#END PHP INSTALLER EDITS – REMOVE ONLY ON UNINSTALL

另外這樣我們的server還是沒辦法辨識.php檔,因此還要在裡面加入型態的宣告,如下:

AddType Application/x-httpd-php .php .php3
AddType Application/x-httpd-php-source .phps

DirectoryIndex index.html index.htm index.php

#BEGIN PHP INSTALLER EDITS – REMOVE ONLY ON UNINSTALL
PHPIniDir “C:\workspace\PHP”
LoadModule php5_module “C:\workspace\PHP\php5apache2_2.dll”
#END PHP INSTALLER EDITS – REMOVE ONLY ON UNINSTALL

ok,之後就可以安裝mysql了,安裝完之後用以下的方法在console模式登入mysql server:
mysql -u root -p database-name

進去之後如果想import檔案的話用請用以下指令:
mysql> source ~/filname.sql

另外,如果要用phpmyadmin來操作資料庫的話,你就要新增一個使用者是能夠以localhost登入。
如果這個使用者是選擇任何主機的話,
你會發現明明帳號密碼都正常,
但卻還是會出現:#1045 無法登入 MySQL 伺服器 這個訊息。

不過轉用navicat的話,則又會發現可以登入(在這之前記得去把防火牆打開)

我在猜測phpmyadmin的登入方式是透過appache先連到該主機,
再用localhost的方式登入,
而選擇「任何主機」的話則登入方式不包括localhost在內

另外,有關於time out的相關議題可以參考下面這篇文章:
http://www.realzyy.com/?p=478

可以在mysql的console摸式下使用:show variables查看這些數值

另外,要改變他的話可以試著在my.ini最後面加入下面的內容:
wait_timeout=1000
connect_timeout=100000
interactive_timeout=500

重開server之後,該數值就會生效

不然這些time out太短的話,有時候用程式在處理大量資料插入時,
會有隨時被系統踢出去的危險而導致crash

以上,大致上就是今天架設主機遇到的問題及處理流程

Leave a Reply

Your email address will not be published. Required fields are marked *