PHP PDO 接続用ファイルさくらのサーバ&local共用で使えるver

PHP PDO 接続用ファイルさくらのサーバ&local共用で使えるver

ローカルで開発と、さくらサーバに納品、という案件はよくありまして、PHPとかの接続設定のファイルをローカル用とさくらサーバ用で用意していたんですがめんどくさくなったので共用にしました。


// config.php

// 本番 さくら
 if ($_SERVER['SERVER_NAME'] === 'happy,automaticfairus.com') {
 $cc = array(
 'source' => "MYSQL"
 , 'location' => "mysql番号’.db.sakura.ne.jp"
 , 'dbname' => "DB名"
 , 'user' => "ユーザ名"
 , 'password' => "データベースのパスワード"
 , 'options' => array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET `utf8`")
 );
 } else {
 // // localhost
 $cc = array(
 'source' => "MYSQL"
 , 'location' => "localhost"
 , 'dbname' => "ローカルのDB名"
 , 'user' => "ローカルのユーザ名rootとか"
 , 'password' => "ローカルのパスワードrootとか"
 , 'options' => array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET `utf8`")
 );
 }
 $dsn = "mysql:dbname={$cc['dbname']};host={$cc['location']}";
 try {
 $dbh = new PDO($dsn, $cc['user'], $cc['password'], $cc['options']);
 print('接続に成功しました。<br>');//テスト用
 } catch(PDOException $e){
 exit('データベースに接続できませんでした。' . $e->getMessage());
 }

$dbh->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

$dbh = null;

これで、いちいち切り替えなくても済むようになりました