CakePHPでシェル機能を使ってみる

Kazuya Takato

Kazuya Takato

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サイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

1983年生まれ。SIerとしてのキャリアをスタートし、JavaやC#を中心に多岐にわたる開発プロジェクトにエンジニアとして参加。その経験を活かし、LIGを創業。バックエンドおよびフロントエンドエンジニアとしての深い知識と経験をもとに、多様なプロジェクトに従事。2023年7月には社長室室長に就任にし、社内の体制やルールの最適化、AI技術の推進など、経営戦略の一翼を担っています。

このメンバーの記事をもっと読む
デザイン力×グローバルな開発体制でDXをトータル支援
お問い合わせ 会社概要DL