php5をアップグレードしたら、phpのエクステンション pecl-memcacheのエラーがでるようになったので、リビルドする。
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/memcache.so' - /usr/local/lib/php/20060613/memcache.so: Undefined symbol "php_session_create_id" in Unknown on line 0
再構築方法
sudo portupgrade -rf /var/db/pkg/pecl-memcache-2.2.4
---> Reinstalling 'pecl-memcache-2.2.4' (databases/pecl-memcache)
---> Building '/usr/ports/databases/pecl-memcache'
===> Cleaning for pecl-memcache-2.2.4
2008年11月23日日曜日
pecl-memcacheも更新
2008年11月22日土曜日
php5-5.2.6_2へバージョンアップ
PHPとPHPエクステンションのバージョンアップを行いました。
バージョンアップ方法
- まずportsを更新します。
- sudo portsnap fetch update
- PHPと関連パッケージをアップグレードします。
- sudo portupgrade -r /var/db/pkg/php5-5.2.6/
'php5-5.2.6' から 'php5-5.2.6_2'にあがりました。
2008年11月11日火曜日
Perlモジュール p5-IP-Countryをインストール
Perlモジュール p5-IP-Country のインストール
IPアドレスの国を調べることが可能です。
インストール
cd /usr/ports/net/p5-IP-Country
sudo make install clean
モジュールのサイト
http://search.cpan.org/dist/IP-Country/
2008年11月6日木曜日
PHP memcachedを使うサンプルコード
PHPからmemcachedにアクセスするサンプルコード
サンプルでは下記のテストをします。
memcachedに接続(connect)
値(keyとvalue)をmemcachedにセット(add)
getでkeyのvalue(値)を取得して、dump
<?php
$memcache = memcache_connect('localhost', 11211);
if ($memcache) {
$memcache->set("str_key", "String to store in memcached");
$memcache->set("num_key", 123);
$object = new StdClass;
$object->attribute = 'test';
$memcache->set("obj_key", $object);
$array = Array('assoc'=>123, 345, 567);
$memcache->set("arr_key", $array);
var_dump($memcache->get('str_key'));
var_dump($memcache->get('num_key'));
var_dump($memcache->get('obj_key'));
}
else {
echo "Connection to memcached failed";
}
?>
FreeBSD ports pecl-memcacheをインストールする
PHPからmemcachedにアクセスするためには、PHPエクステンション pecl-memcacheが必要です。
pecl-memcacheのインストール方法
cd /usr/ports/databases/pecl-memcache
sudo make install clean
pecl-memcacheをインストールしたら、apacheを再起動して反映します。
sudo apachectl restart
PHPに組み込まれたか確認してみます。
% php -m |fgrep memcache
memcache
memcacheのエクステンションが読み込まれていることが確認できました。
PHPに組み込まれたmemcacheの関数を確認してみます。
% php -r 'var_dump(get_defined_functions());' |fgrep memcache
string(16) "memcache_connect"
string(17) "memcache_pconnect"
string(19) "memcache_add_server"
string(26) "memcache_set_server_params"
string(26) "memcache_get_server_status"
string(20) "memcache_get_version"
string(12) "memcache_add"
string(12) "memcache_set"
string(16) "memcache_replace"
string(12) "memcache_get"
string(15) "memcache_delete"
string(14) "memcache_debug"
string(18) "memcache_get_stats"
string(27) "memcache_get_extended_stats"
string(31) "memcache_set_compress_threshold"
string(18) "memcache_increment"
string(18) "memcache_decrement"
string(14) "memcache_close"
string(14) "memcache_flush"
FreeBSD ports memcachedをインストールする
メモリでデータをキャッシュするハッシュデータベース memcached をFreeBSDにインストールします。
portsからインストールします。
cd /usr/ports/databases/memcached
sudo make install clean
インストールはこれで完了です。
REPCACHEDは、オプションで選択することが可能です。
[X] REPCACHED Enable data replication feature
memcachedにレプリケーション機能が追加実装されたのが、repcachedです。
起動スクリプト
/usr/local/etc/rc.d/memcached
memcachedのバイナリ
/usr/local/bin/memcached-debug
/usr/local/bin/memcached
設定
rc.confに
memcached_enable="YES"
とすることで、FreeBSD起動時にmemcachedを起動することができます。
手動で起動
sudo /usr/local/etc/rc.d/memcached start
再起動・停止
sudo /usr/local/etc/rc.d/memcached restart
sudo /usr/local/etc/rc.d/memcached stop