前回の記事で書いたように、仕事でさくらのレンタルサーバーの共用プラン(ビジネスプロ)を使っているのですが、PHPのカレンダー関数 が入ってないので、手動でインストールしてみました。
ちなみにカレンダー関数というのは、なかなか便利なもので、例えば 「2月1日から5月15日までを日次ループ処理したい」というような場合には、開始日と終了日をユリウス積算日に変換して単純なfor文のループに落とし込むことが出来ますし、ループの中では必要に応じてユリウス積算日からY-m-dやUnixタイムスタンプに変換して処理を行えます。しかも紀元前4713年以降であるなら、期間が数日でも数百年でも処理できるという優れものです。
インストール方法ですが、実は私、FreeBSDを触るのは今回が初めてでして、正直、ここから先は正しいかどうかを保証できませんのでご了承ください(笑
portコマンドが使えれば一発でインストールできるようですが、さくらの共用プランなのでroot権限がありません。
そこでまずは下記ページからダウンロードします。(PHP5.3の場合)
http://portsmon.freebsd.org/portoverview.py?category=misc&portname#misc/php53-calendar
ちなみにPHP5.x系最新版用はこちら。
http://portsmon.freebsd.org/portoverview.py?category=misc&portname=php5-calendar
一覧表の build environment のところに 84amd64-default 、84i386-default、91amd64-defaultと並んでいますが、どれを選択するべきなのか・・
私の使っているサーバーの情報をみると FreeBSD 9.1-RELEASE-p15 (中略) amd64と書いてあるので、91amd64-default をダウンロードすることにしました。
% uname -a FreeBSD *****.sakura.ne.jp 9.1-RELEASE-p15 FreeBSD 9.1-RELEASE-p15 #1: Wed Jun 11 02:25:45 JST 2014 admin@*****.sakura.ne.jp:/usr/obj/home/pkg/src/sys/SAKURA17 amd64
では、インストール。
% cd ~/src % wget http://pkg.freebsd.org/freebsd:9:x86:64/latest/All/php53-calendar-5.3.28_3.txz % tar Jxvf php53-calendar-5.3.28_3.txz (※ ディレクトリ階層を保ったまま解凍される) % cp usr/local/lib/php/20090626/calendar.so ~/modules/
尚、modulesディレクトリについては前回の記事を参照してください。
そして、さくらのレンタルサーバーのコントロールパネルから、php.iniに下記を追記します。
;Calendar extension_dir = /home/*****/modules extension=calendar.so
ここに書いてあることはイレギュラーな方法だと思いますので、各自の自己責任で行ってください。
どのような結果になろうと当サイトは一切の責任を負いかねます。