cakePHP1.2 さくらインターネットでコンソールを使う

August 7, 2009,
tags: cakephp php さくらインターネット コンソール


このエントリーをはてなブックマークに追加

この前のImagickの処理をcakePHPのコンソール上で動かしたいと思い、vendors/shellsのなかに、適当な名前のPHPつくっておきますた。
普通にShellクラスを継承したShellを作れば使えてしまいます。
基本的にはfunction mainをつくってその中にガシガシ書いていけばおkらしいのですが、さくらインターネットでcakePHPのコンソール使おうとしたら、うまく使えないという現象に陥りました。

よくよくみたら、さくらインターネットのphp.iniが違うディレクトリにあるため、うまく動いてないらしいです。

ということで、vendors/shellsのなかのcakeを編集すればおkです。

#exec php -q ${LIB}cake.php -working "${APP}" "$@"
exec php -c /home/ユーザ名/www/php.ini -q ${LIB}cake.php -working "${APP}" "$@"```

ただ、こんな感じの処理をつくったんですが、うまく動きません。。

<?php class HogeShell extends Shell{

function main(){
    dl('imagick.so');

    echo "-----------start--------\n\n";
    $img = new Imagick('image_file.jpg');
    $img->thumbnailImage(2880,2880,true);
    $img->writeImage('test.jpg');
    $img->destroy();
    echo "\n-----------end--------\n";

}

} ?>


実行するとこんな感じになります。。

Warning: Module ‘imagick’ already loaded in Unknown on line 0 ———–start——–

Killed % ```

うーん、うまくimagickが読み込まれてないっぽ感じが。。。
なんか解決策わかる人いませんか??

comments powered by Disqus