2013年10月8日 星期二

[研究] Apache + PHP + MySQL 架網站環境安裝 (Win7)

[研究] Apache + PHP + MySQL 架網站環境安裝 (Win7)

2013-10-08
2016-03-09 更新 VC++ 2012可轉發套件網址

安裝環境:Windows 7 with SP1 x64

****************************************

安裝需要下面 5 個軟體:

Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)
Microsoft Visual C++ 2010 SP1 可轉發套件 (x64)
(也就是 Visual C++ Redistributable Package v10.0.40219.1)
http://www.microsoft.com/download/en/details.aspx?id=13523
(httpd-2.4.6-win64.zip 中程式執行需要)

Microsoft Visual C++ Redistributable for Visual Studio 2012 Update 4 (x64)
適用於 Visual Studio 2012 Update 4 的 Visual C++ 可轉散發套件
https://www.microsoft.com/zh-tw/download/details.aspx?id=30679
(也就是 Visual C++ Redistributable Package v11.x)
(php-5.5.4-Win32-VC11-x64.zip 中程式執行需要)

注意,上面兩個下載回來的都是 vcredist_x64.exe,但是為不同的檔案,兩個都需要安裝。

Web Server : httpd-2.4.6-win64.zip
PHP        : php-5.5.4-Win32-VC11-x64.zip
MySQL      : mysql-5.6.13-winx64.zip

****************************************

參考資料:

Apache Web Server (Httpd) 2.4 在 MS-Windows 上安裝說明
http://httpd.apache.org/docs/2.4/platform/windows.html

PHP 在 Windows 安裝程序(PHP 5.2 及更新版本)
http://in2.php.net/manual/zh/install.windows.installer.msi.php

Installing MySQL 5.6 on Microsoft Windows
http://dev.mysql.com/doc/refman/5.6/en/windows-installation.html
http://dev.mysql.com/doc/refman/5.6/en/windows-start-service.html
http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

****************************************

0. 基本安裝

(下圖) 安裝 Microsoft Visual C++ 2010 SP1 可轉發套件 (x64)

(下圖) 安裝 Microsoft Visual C++ 2012 Update 3 可轉發套件 (x64)


很簡單,不多說了。

****************************************

1.解壓

1.1 解壓 Apache Web Server (Httpd)

把 httpd-2.4.6-win64.zip 用 7-zip 解壓到 C:\ 目錄
解壓完成後會看到 C:\Apache24 目錄,裡面有 bin、cgi-bin、、、等子目錄

你可以安裝到別的目錄,但是 Apache24\conf\httpd.conf 設定檔案中所有路徑都要修正
因為 httpd.conf 中預設使用 C:\Apache24 目錄


PS:依照解壓軟體種類和版本差異,有時候會多建立一層子目錄,例如變成 C:\httpd-2.4.6-win64\Apache24
   此時請把目錄搬移到 C:\Apache24

********************

1.2. 解壓 MySQL Server

把 mysql-5.6.13-winx64.zip 用 7-zip 解壓到 C:\ 目錄
解壓完成後會看到 C:\mysql-5.6.13-winx64 目錄,裡面有 bin、data、、、等子目錄
選哪個目錄比較沒關係

********************

1.3. 解壓 PHP

把 php-5.5.4-Win32-VC11-x64.zip 用 7-zip 解壓到 C:\php 目錄 (注意,別解壓到 C:\ 根目錄,否則一堆檔案)
解壓完成後會看到 C:\php 目錄,裡面有 bin、data、、、等子目錄
選哪個目錄比較沒關係

****************************************

2. 設定

2.1 讓 Apache Web Server 支援 PHP 網頁

修改 C:\Apache24\conf\httpd.conf 設定檔,增加

LoadModule php5_module "C:\php\php5apache2_4.dll"
<IfModule php5_module>
PHPIniDir "C:\php\"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php5
</IfModule>

(下圖) 修改 httpd.conf

其中 PHPIniDir 是 Httpd 2.4.6 版新增的。

(下圖) 注意:目錄要用斜線 /  ,不要用反斜線  \
ServerRoot 設定的目錄結尾不要加上斜線

********************

2.2 讓 PHP 可以存去 MySQL

把 C:\php\php.ini-production 複製成 C:\php\php.ini
(不要用改檔案名稱方式,避免改壞了還有原來檔案可以再次複製使用)

( 前面 C:\Apache24\conf\httpd.conf 說 PHPIniDir "C:/php/" )

找到
; extension_dir = "ext"
底下增加一行
extension_dir = "c:/php/ext/"

(下圖) 增加 extension_dir 設定

找到
;extension=php_mysql.dll
拿掉前面的註解 (分號),變成
extension=php_mysql.dll

另外建議下面也拿掉註解
extension=php_mbstring.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll

(下圖) 拿掉幾個註解

注意,不建議全部註解都拿掉,如果 dll 找不到或相關軟體沒安裝,啟動 or 實際運作過程可能出錯。

****************************************

3. 啟動

(下圖) 點選「開始」按鈕,選「所有程式」,選「附屬應用程式」,在「命令提示字元」上按下滑鼠右鍵,選「以系統管理員身分執行」




3.1 安裝與啟動 Apache Web Server 服務

安裝服務
c:\Apache24\bin\httpd.exe -k install

啟動
c:\Apache24\bin\httpd -k start

(下圖) 安裝與啟動 Apache Web Server 服務

如果路徑有空白,請加上雙引號,例如:

"C:\Program Files\Apache24\bin\httpd.exe" -k uninstall


PS:(參考)

重新啟動服務
c:\Apache24\bin\httpd -k restart

停止服務
c:\Apache24\bin\httpd -k stop


移除服務
c:\Apache24\bin\httpd.exe -k uninstall

(下圖) 注意,只要 httpd.conf 或 php.ini 有修改,就必須 "重新啟動" Apache Web Server 服務

********************

3.2 安裝與啟動 MySQL Server 服務

安裝服務
C:\mysql-5.6.13-winx64\bin\mysqld" --install

啟動服務
net  start  mysql

(下圖) 安裝與啟動 MySQL Server 服務


PS:(參考)

重新啟動服務
net  restart  mysql

停止服務
net  stop  mysql

移除服務
C:\mysql-5.6.13-winx64\bin\mysqld" --remove

****************************************

4. 測試

(下圖) 啟動瀏覽器,網址輸入 http://localhost/index.html

在 C:\Apache24\htdocs 目錄建立 index.php
內容為
<?php
phpinfo();
?>

啟動瀏覽器,網址輸入 http://localhost/index.php

(下圖) 看到類似的畫面表示 Apache Web Server 可以支援 PHP 網頁

(下圖) 如果 C:\windows\php.ini 中有 extension=php_mbstring.dll,應該會看到 mysql 區域資訊;
如果 C:\windows\php.ini 中有 extension=php_mysqli.dll,應該會看到 mysqli 區域資訊


(完)

相關文章

[研究] AppServ 2.5.9 架站軟體安裝 (Win7)
http://shaurong.blogspot.com/2013/10/appserv-259-win7.html

[研究] XAMPP 1.8.2-2 x86 架站軟體安裝 (Win7)
http://shaurong.blogspot.com/2013/10/xampp-182-2-x86-win7.html

[研究] WampServer 2.4 x64 架站軟體安裝 (Win7)
http://shaurong.blogspot.com/2013/10/wampserver-24-x64.html

[研究] MediaWiki 1.21.2 維基網站安裝 (CentOS 6.4 x64)
http://shaurong.blogspot.com/2013/10/mediawiki-1212-centos-64-x64.html

[研究] Apache + PHP + MySQL 架網站環境安裝 (Win7)
http://shaurong.blogspot.com/2013/10/apache-php-mysql-on-win7.html

[研究] MediaWiki 1.15.1 維基網站安裝 (CentOS 6.4 x64)
http://shaurong.blogspot.com/2013/10/mediawiki-1151-centos-64-x64.html

20 則留言:

  1. 「Microsoft Visual C++ 2012 Update 3 可轉發套件 (x64)」的連結網址貼錯了

    回覆刪除
    回覆
    1. 適用於 Visual Studio 2012 Update 4 的 Visual C++ 可轉散發套件
      http://www.microsoft.com/zh-tw/download/details.aspx?id=30679

      刪除
  2. 不好意思,我安裝時碰到一些問題想請教您
    我在步驟命令題式字原裡c:\Apache24\bin\httpd -k start的時候由於我的存取未智不同思所已改成了C:\WebSever\httpd-2.4.12-win64-VC11\Apache24\bin\httpd -k start

    但是電腦程現訊息是
    AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::d0ec:6c6d:7af3:305b. Set the 'ServerName' directive globally to suppress this message
    (OS 10048) 一次只能用一個通訊端位址(通訊協定/網路位址/聯接阜)。:AH00072: make_sock: could not bind to address [::]:80
    (OS 10048) 一次只能用一個通訊端位址(通訊協定/網路位址/聯接阜)。:AH00072: make_sock: could not bind to address 0.0.0.0:80
    AH00451: no listening sockets available, shutting down
    AH00015: Unable to opean logs

    然後在http://localhost/index.php 變無法顯示範力的頁面

    推測可能原因是在一開始安裝時有不小心選了不要在無線網路公共場合聯現的關係,但家裡只有無線網路,請問要如何解決?

    回覆刪除
    回覆
    1. could not bind to address [::]:80 ===> 妳電腦上還有其他 Web Server 占用了 port 80 ?

      刪除

  3. 我在執行3.1 安裝與啟動 Apache Web Server 服務出現了以下問題
    AH00526:Syntax error on line 3 of C:/Apache/conf/httpd.conf:
    Invalid command 'PHPInDir' , perhaps misspelled or defined by a module not included in the server configuration


    2.2 讓 PHP 可以存去 MySQL
    事先複製後再修改檔名,還是先修改完內容再複製改檔名?

    回覆刪除
  4. 哈囉哥們 加入你喔 分享你文章地每一天

    回覆刪除
  5. 在cmd執行httpd -k start指令時
    跳出錯誤訊息
    AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::8960:d57f:570a:7173. Set the 'ServerName' directive globally to suppress this message
    不只該如何解決

    回覆刪除
    回覆
    1. 是 Warning (警告,仍可執行) ? 而非 Error (錯誤,不能執行) 吧 ? 要避免這個訊息, httpd.conf 中的 ServerName 給一個值 ( 類似 www.hinet.net 或 shopping.pchome.com.tw 一類的網址名稱)

      刪除
    2. 摁摁 感謝你的回覆 我先執行看看

      刪除
  6. 執行httpd -k start指令時出現:
    httpd: Syntax error on line 1 of C:/Apache24/conf/httpd.conf: Cannot load C:/php/php5apache2_4.dll into server: \xa7\xe4\xa4\xa3\xa8\xecxab\xfc\xa9w\xaa\xba\xbc\xd2\xb2\xd5\xa1C
    請問這代表甚麼意思?

    回覆刪除
  7. AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::9450:bf61:77b8:b834. Set the 'ServerName' directive globally to suppress this message
    (OS 10013)嘗試存取通訊端被拒絕,因為存取權限不足。 : AH00072: make_sock: could not bind to address [::]:80
    (OS 10013)嘗試存取通訊端被拒絕,因為存取權限不足。 : AH00072: make_sock: could not bind to address 0.0.0.0:80
    AH00451: no listening sockets available, shutting down
    AH00015: Unable to open logs

    啟用出現這樣要怎麼解決

    回覆刪除
  8. 您好版大
    我跟著教學做到最後階段的PHP網頁資訊裡
    沒有找到"mysql"、"mysqli"的區域資訊,但是卻找到"mysqlnd"的區域資訊
    請問這兩者的差別大嗎?謝謝

    回覆刪除
    回覆
    1. 請說明您用的版本號碼 ? 下載的檔案名稱 ?
      Windows ?
      Apache ?
      PHP ?
      MySQL ?

      刪除
    2. Windows : Win10
      Apache : Apache 2.2
      PHP : PHP-5.4.45-Win32-VC9-X86.zip
      MySQL : MySQL5.7.10-win64 (sever 5.7 & workbench 6.3CE & Connector C6.1)

      刪除
  9. 请问一下,为甚么 2010 和 2012 的 都是同样的link?
    http://www.microsoft.com/download/en/details.aspx?id=13523

    回覆刪除