読者です 読者をやめる 読者になる 読者になる

ほげほげ(仮)

仮死状態

CakePHPのShell機能でエラー

PHP

最近はCakePHPネタばかりです。


ちょっとShell機能を試してみようとしたら、エラーが出て動かなかったので個人的なメモを。


シェルを叩いてみたら次のようなエラーが

Warning: strtotime() …
Fatal error: Call to undefined function mysql_query() …


明らかにphp.iniが読み込めてないですね。


で、次のコマンドでとりあえず何処のphp.iniを読んでいるか調べます。

php --ini

確認した結果、CGIの時のphp.iniとは別の場所を読んでいました。


ついでにphpのバージョンも調べておきます。

php -v

これも微妙に違いました。


今回は特にCGIとCLIとで環境を分ける必要が無いので、同じにしたいと思います。


/cake/console/cakeのファイルを開きます。execの前にCGIで使っているPHPのディレクトリを指定します。
単純にパスを通すだけですね。

#!/bin/bash
LIB=${0/%cake/}
APP=`pwd`

<span style="color:#FF0000;">export PATH=/usr/bin:$PATH</span>
exec php -q ${LIB}cake.php -working "${APP}" "$@"

exit;


一応、コレで動くようになりました。


いつの間にか複数のPHP環境がインストールされてみたいで・・・


すぐに解決したような書き方してますが、かなり時間かかりました。
最初はCLIの-cでphp.iniを指定したり、/app/config/core.phpのdate_default_timezone_setを設定してみたり、他にも色々試したりと・・・
よく考えればすごく単純なことでしたね。

全然関係ないですが・・・

今日はオレの誕生日でしたー
どうでもいい情報ですね(;´∀`)