複数DBに対応したCMS構築【その2】〜MySQL〜
こんにちは。ガラパゴス社web-teamの[twitter:@yamaD_426]です。
前回は3種データベースに対応するまでのステップについて書きましたが、
今回は3種データベースのうち、MySQLとの連携について書きたいと思います。
前回の記事はこちら
複数DBに対応したCMS構築【その1】〜putty,lighttpd,PHP5〜 - スマートフォンアプリ開発会社のエンジニアブログ
MySQLとの連携
まずは、MySQLとの連携についてです。
MySQLと連携するにはまず、以下のようにコマンドで入力してください。
sudo apt-get install mysql-server
sudo apt-get install php5-mysql
この2つを実行します。これで、PHPからMySQLを利用できる状態になります。
途中でrootについてのパスワードを聞かれるので、適切なパスワードを設定してください。
さて、今回の環境作りでは、実際にテストデータベースが必要とされたので、
データベース作りについても書きます。
コマンドで、
mysql -u root -p
と打ちます。この後、rootについて設定したパスワードを入力してください。
その後、
create database SYSDBA;
show databases;
と入力して、以下の図のような画面が出れば成功です。SYSDBAというのは、
適当につけただけなんで、何をつけても大丈夫です。むしろユーザーに
つけることの方が多いんで、もっとよい名前にした方がよいです。
これで空のデータベースができ、開発できるようになりました!
このCMSのソースコードは私が書いたわけではないのですが、以上のように連携した後に
空のデータベースを作ることで、mysql.phpというファイルが読み込まれ、
<?php function sql_connect(){ if(!PHP_INI_DB){ if(!mysql_connect(MY_USER, MY_PASS)){ return FALSE; } } $result = mysql_select_db(MY_DB); if(!$result){ return FALSE; } return mysql_query('SET AUTOCOMMIT = 0'); } ?>
このようなMySQLと接続するための関数が正常動作するようになります。
定義部分は省略しますが、PHP_INI_DBとは、php.iniの接続情報を利用
するかどうかを判定しています。また、'SET AUTOCOMMIT = 0'で、
Autocommit機能を無効にし、常にトランザクションが開かれた状態としています。
上部のソースコードのうちとりあえずの重要な部分、
がちゃんと動くようになり、開発環境は完成です!
次回はPostgreSQLとの連携について書きたいと思います。
yamaD_426でした!