週末IT

IT初心者が学んだこと思ったこと考えたことのまとめ

JQuery UIのdatepicerを日本語化して使う方法。
ぐぐってみるとCDNで
http://ajax.googleapis.com/ajax/libs/jqueryui/1/i18n/jquery.ui.datepicker-ja.min.js
を読み込むことにより日本語化するという記事が多く見つかったが、CDNを使用せずに日本語化する場合。
CDNでもいいやって場合はこちらがわかりやすい.続きを読む

ユーザーやパスワードなどの設定は共通かつ使用データベースのみ変更したい場合、例えば日時によりデータベースを切り替えたい場合や、ローカルと別サーバーでのデータベース切り替えなどへの対処。
database.phpにいくつも似たような設定を用意するのは嫌だったので、使用する設定は1つとし、データベースのみ切り替える。

AppModel.php内での切り替え

使用するすべてのモデルのデータベースを一律で切り替えたかったため、AppModel.phpのコンストラクタ内で切り替えを実装。

class AppModel extends Model{

    public function __construct($id = null, $table = null, $ds = null) {

        // データソースへの参照を取得
        $dbSource = ConnectionManager::getDataSource ($this->useDbConfig);

        // ローカル環境かどうかでデータベース名の切り替え
        if ($_SERVER ['REMOTE_ADDR'] == '127.0.0.1') {
                $dbName = 'local_db';
        } else {
                $dbName = 'another_db';
        }

        // データベース名の書き換え
        $dbSource->config ['database'] = $dbName;

        parent::__construct ($id, $table, $ds);

    }

}

これで使用データベースの切り替えができた。

Mac OS Xでターミナルからmysqlを起動するではmysql.serverの起動について触れたが、どうやらmysql -u user -pという、mysqlをターミナルで操作する方をやりたい方が多いようなので、そちらのやり方。
Max OS Xにデフォルトで入っているmysqlを使う場合、

$ /usr/local/mysql/bin/mysql -u username -p

でパスワードを入力すればmysqlに接続することができる。
毎回mysqlコマンドを追っかけるのは面倒なので、PATHを通す。
適当なエディタでホームディレクトリ(/Users/[username])にある.bash_profileを編集する。

# MySQL Path Setting
export PATH=$PATH:/usr/local/mysql/bin

と追加。
.bash_profileはログイン時に読み込まれるので、一旦ログアウトする。

$ exit

再びターミナルを開き,

$ mysql -u username -p

でパスワードを入力すればmysqlに接続完了。

Can't connect to local MySQL server through socket '/tmp/mysql.sock

とか表示される場合には,mysql.serverの起動

うまく動かない

(cakephp-2.4.10 or cakephp-2.5.2にて)
他のブログを参照しながらCakeEmailでgmailの設定をしたところ、うまく動かなかったので自分の環境の場合の対処法。
まず、cakeemail gmail などでググるとはじめの方に出てくる、
    public $gmail = array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => 465,
        'username' => 'username@gmail.com', // ユーザ名
        'password' => 'password',           // パスワード
        'transport' => 'Smtp',
        'tls' => true
    );
という設定だが、ドキュメントによると、これはcakephp-2.3.0用の書き方のようだ。
この書き方をしてしまうと
SMTP server did not accept the connection or trying to connect to non TLS SMTP server using TLS.
で引っかかる。

続きを読む

このページのトップヘ