CakePHPの1.2はシェルの機能が用意されているらしいので、使ってみた。
下のサイトさんを参考に、さくらサーバで動かしてみた。
・Sun Limited Mt
・くそみそテクニック
app/vendors/shells/の配下にphpファイルを作って、Shellクラスを継承すればOKみたい。
とりあえずtest.phpにした。
class TestShell extends Shell {
function main(){
処理
}
}
あとはcronの設定をさくらのcronタブから行うのですが、けっこう苦労した。
/usr/local/bin/php /home/アカウント名/www/cake/console/cake.php test -app /home/アカウント名/www/app/
こんな感じに絶対パスで指定したら、うまく動いてくれた。
しかし、Fatal error: Class ‘String’ not found ってエラーが出た。
調べらcake1.2のバグらしい。
すでに修正はされてるようでここのソースにしたら無事うごいた。
ちなみにmain以外のメソッドを呼びたい場合は、
/usr/local/bin/php /home/アカウント名/www/cake/console/cake.php test メソッド名 -app /home/アカウント名/www/app/
って書けば動く。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。