來練習一下該如何在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"); } ?>
成功的話應該就會看見一大堆陣列資訊了 ^^
參考資源
.在 Debian 安裝 Apache + MySQL + PHP
.【安裝筆記】Apache, MySQL, PHP, Subversion Installation on Debian Etch
這個是不是要先裝GCC阿 怎麼裝不起來呢 下make竟然說沒command
2010-04-16 23:02:52
先裝個build-essential比較方便
2010-04-16 23:28:55
ifdef([PHP_ADD_EXTENSION_DEP],
[
PHP_ADD_EXTENSION_DEP(pdo_mysql, pdo)
])
刪除這段的用意是?
2010-04-20 15:28:08
這我有點忘了... 你試試看還需不需要刪除這四行。
2010-04-20 19:35:29
我不刪除好像也可以 不過pdo.ini的部份 mysql.so 那行沒有加入
2010-04-20 20:37:25
對了 如果是像這種直接下載tar來編譯過的東西要移除怎麼辦Orz
2010-04-20 20:38:54
試試make uninstall 或看安裝在什麼地方直接刪除即可。
2010-04-20 21:29:14