blog.Ring.idv.tw

Installing MySQL & Apache2 & PHP & PDO on Debian 4.0

Installing MySQL & Apache2 & PHP & PDO on Debian 4.0


來練習一下該如何在Debian Linux下建立一個LAMP的環境~

安裝MySQL

「libmysqlclient15-dev」要編譯「PDO_MYSQL」時會用到,所以就一併安裝

apt-get install mysql-server libmysqlclient15-dev

裝完成功後~ 記得為你的MySQL root帳號設置一下密碼,假設密碼為「1234」:

mysqladmin -u root password 1234

安裝Apache2

apt-get install apache2

裝好後修改一下設定~

vi /etc/apache2/sites-available/default

將「RedirectMatch ^/$ /apache2-default/」這一行註解起來,如下所示:

# RedirectMatch ^/$ /apache2-default/

讓「/」根目錄不要重導到「/var/www/apache2-default」下

安裝PHP5

「php5-dev」有包含「phpize」這個指令~ 待會要編譯PHP extension會用到~ 所以也一併安裝

apt-get install php5 php5-dev

這時候你可以在「/var/www/」下建立一個名為「index.php」,內容如下:

<?
phpinfo();
?>

然後打開你的瀏覽器,輸入「http://localhost/」就可以看到你的PHP相關組態資訊了~

安裝PDO

首先先下載PDO、PDO-MySQL~

wget http://pecl.php.net/get/PDO-1.0.3.tgz
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz

然後解壓縮兩個檔案~

tar zxvf PDO-1.0.3.tgz
tar zxvf PDO_MYSQL-1.0.2.tgz

先安裝PDO

cd PDO-1.0.3
phpize
./configure
make
make install

在安裝PDO_MYSQL,要先修改「config.m4」這個檔案,然後刪除下述四行,在122行。

ifdef([PHP_ADD_EXTENSION_DEP],
[
  PHP_ADD_EXTENSION_DEP(pdo_mysql, pdo)
])

安裝PDO_MYSQL

cd PDO_MYSQL-1.0.2
phpize
./configure
make
make install

確認PDO有設置成功

vi /etc/php5/conf.d/pdo.ini

內容應該包含下述兩行:

extension=pdo.so
extension=pdo_mysql.so

測試環境

先重新啟動你的「apache2」

/etc/init.d/apache2 restart

然後在「/var/www/」之下,建立一個「test.php」,程式如下:

<?php
set_exception_handler('exception_handler');

$user = 'root';
$pass = '1234';
$db = new PDO('mysql:host=localhost;dbname=mysql', $user, $pass);

foreach ($db->query('SELECT * from user') as $row) {
    print_r($row);
}
$db = null;
function exception_handler($e) {
    die($e->getMessage() . "\n");
}
?>

成功的話應該就會看見一大堆陣列資訊了 ^^

參考資源

【PHP】DebianにPDOをインストール

在 Debian 安裝 Apache + MySQL + PHP

【安裝筆記】Apache, MySQL, PHP, Subversion Installation on Debian Etch

Debian下Apache2+Mysql5+Php5的安装配置

2008-04-19 00:38:05

7 comments on "Installing MySQL & Apache2 & PHP & PDO on Debian 4.0"

  1. 1. Yen 說:

    這個是不是要先裝GCC阿 怎麼裝不起來呢 下make竟然說沒command

    2010-04-16 23:02:52

  2. 2. Shen 說:

    先裝個build-essential比較方便

    2010-04-16 23:28:55

  3. 3. Yen 說:

    ifdef([PHP_ADD_EXTENSION_DEP],
    [
    PHP_ADD_EXTENSION_DEP(pdo_mysql, pdo)
    ])
    刪除這段的用意是?

    2010-04-20 15:28:08

  4. 4. Shen 說:

    這我有點忘了... 你試試看還需不需要刪除這四行。

    2010-04-20 19:35:29

  5. 5. Yen 說:

    我不刪除好像也可以 不過pdo.ini的部份 mysql.so 那行沒有加入

    2010-04-20 20:37:25

  6. 6. Yen 說:

    對了 如果是像這種直接下載tar來編譯過的東西要移除怎麼辦Orz

    2010-04-20 20:38:54

  7. 7. Shen 說:

    試試make uninstall 或看安裝在什麼地方直接刪除即可。

    2010-04-20 21:29:14

Leave a Comment

Copyright (C) Ching-Shen Chen. All rights reserved.

::: 搜尋 :::

::: 分類 :::

::: Ads :::

::: 最新文章 :::

::: 最新回應 :::

::: 訂閱 :::

Atom feed
Atom Comment