お世話になっております。
バッチ処理をしたいので、BaseCMSで実施してみました。
しかし、BaserCMSでは、console/shellsは置いていないため、console/を追加しました。
実施してみると以下の結果が出ます。
{console dir}$php cake
PHP Warning: Module 'json' already loaded in Unknown on line 0
################################################################################
#
# Bake is a shell script for running CakePHP bake script
# PHP versions 4 and 5
#
# CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
# Copyright 2005-2010, Cake Software Foundation, Inc.
#
# Licensed under The MIT License
# Redistributions of files must retain the above copyright notice.
#
# @copyright Copyright 2005-2010, Cake Software Foundation, Inc.
# @link http://cakephp.org CakePHP(tm) Project
# @package cake
# @subpackage cake.cake.console
# @since CakePHP(tm) v 1.2.0.5012
# @license MIT License (http://www.opensource.org/licenses/mit-license.php)
#
################################################################################
LIB=${0/%cake/}
APP=`pwd`
exec php -q ${LIB}cake.php -working "${APP}" "$@"
exit;
これで良いと思いました。
次に、自作のテストバッチを作成します。
ファイルの設置は、\app\vendors\shells\test.php におくだけです。
< ?php
class TestShell extends Shell {
var $uses = array('Model');
function main(){
$lists = $this->Model->findAll();
}
}
?>
ためしに、コマンドライン上から
/var/www/html/{myapp}/cake/console/cake test main -app /var/www/html/{myapp}/app
としました。
実行結果:
/var/www/html/{myapp}/cake/console/cake.php on line 274
Fatal error: Call to undefined method App::build() in /var/www/html/{myapp}/cake/console/cake.php on line 274
となりました。
いろいろ調べたところ、今まだ分かりません。
一応、報告します。