php-pecl-memcached でmemcachedとの接続部分を実装していたら、
接続確認用のメソッドが見つからなかった。
Memcached::addServer はで接続確認できるかと思ったけど、
接続確立はしないらしい・・・。
http://php.net/manual/ja/memcached.addserver.php
ちなみに、php-pecl-memcache だと Memcache::connect というメソッドがあって、
それで確認できるっぽい。
ということで、FuelPHP の core にある memcached 接続部分を確認してみた。
今使っているフレームワークが FuelPHP ってだけなので、
別に他のフレームワークでもいいんだけど・・・。
結果、以下のように接続確認をしていた。
<?php // check if we can connect to the server(s) if (static::$memcached->getVersion() === false) { throw new \FuelException('Memcached cache are configured, but there is no connection possible. Check your configuration.'); }
バージョンチェック用のメソッドで確認してるみたい。
とりあえず、これを採用しようと思う。
ただ、実際にgetVersion() の挙動を確認してみると、
間違った接続情報で getVersion() を実行した際の戻り値が
false じゃなくて、 255.255.255 だった。
なので、以下のように修正。
<?php // check if we can connect to the server(s) if (static::$memcached->getVersion() === '255.255.255') { throw new \FuelException('Memcached cache are configured, but there is no connection possible. Check your configuration.'); }
これでいいのか・・・?