2010年3月5日 星期五

windows7 64位元安裝Apache、PHP、MySQL

安裝環境: windows7  64bit

目前官方網站  apache 和 php 都只有 32bit 版的,只有 MySQL 有 64bit 版的。
所以我的安裝方法就是 apache、php裝 32bit版本, MySQL 裝 64bit 版本,
若您會這三個分開安裝設定,其實下面的步驟就不用看了。

安裝步驟我是看 php 官網的說明,然後整理出來的。

首先下載 Apache、php、MySQL

安裝步驟如下:
  1. 安裝apache apache_2.2.14-win32-x86-openssl-0.9.8k.msi
    我是安裝到 D:\Apache(x86)

  2. 解壓縮 php-5.2.12-Win32-VC6-x86.zip
    到 D:\php(x86)

  3. 設定 httpd.conf
    編輯 D:\Apache(x86)\conf\httpd.conf
    新增以下三行 (PHPIniDir 是指定 php.ini 的位置)
    (如果本來就有這幾行設設定,就修改成如底下三行)

    LoadModule php5_module "D:/php(x86)/php5apache2_2.dll"
    PHPIniDir "D:/php(x86)"
    AddType application/x-httpd-php .php


  4. 到 D:\php(x86) 目錄底下
    修改 php.ini-recommended 檔名為 php.ini
    再修改 php.ini 這個檔
    新增底下這一行(如果本來就有這一行設定,就修改成如底下)

    extension_dir = "D:\php(x86)\ext\"

  5. 修改 windows環境變數
    PATH 增加 ;D:\php(x86);D:\php(x86)\ext
     (我的電腦  -> 右鍵 -> 內容 -> 進階系統設定 -> 環境變數 -> 系統變數 ->找到 Path 按編輯 -> 變數值 最後面加上  ;D:\php(x86);D:\php(x86)\ext -> 確定)
    重開機


  6. 安裝 MySQL mysql-essential-5.1.44-winx64.msi
    我習慣安裝到 D:\MySQL

  7. 修改 php.ini ,視個人需求,打開
    extension=php_mysql.dll

    extension=php_mysqli.dll

    extension=php_pdo.dll
    extension=php_pdo_mysql.dll

    然後重新啟動 apache

其他補充:
  •  第3步驟,亦可改成以下寫法,如此不使用時,將LoadModule... 這行註解即可

    LoadModule php5_module "D:/php(x86)/php5apache2_2.dll"
    <IfModule php5_module>
    PHPIniDir "D:/php(x86)"
    AddType application/x-httpd-php .php
    </IfModule>
  • 第3步驟的設定方式,php將以apache module的方式執行。
    查看phpinfo()時,Server API 會顯示 Apache 2.0 Handler。
  • 安裝MySQL預設勾選了 strict mode,安裝完要取消 strict mode
    修改my.ini的sql-mode,將STRICT_TRANS_TABLES刪除
    #sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    改成
    sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
  • 在windows server 2003 R2 安裝SQL Server 2008 R2 Express SP1後,
    再安裝apache,發現 80 port 被其他程式占用,apache無法啟動。
    執行 netstat -nao,看到 80 port 被PID 4的進程使用,
    再查看工作管理員,發現PID 4是 system,
    後來發現,
    原來是安裝SQL Server時,如果也裝了 "SQL Server Reporting Services"
    會占用了80 port,把SQL Server Reporting Services關閉即可。

2 則留言: