タイトル長すぎか。まあいいか。
VPSに適当にphp5.5.8(mysql,openssl,enable-cgiが有効)を放り込み、fuelphpをセットアップしております。
oilでアプリケーションを生成するあたりで、最後に
php composer.phar update
こんなのやりますな。すると
Generating autoload files
Error – date_default_timezone_get(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone ‘UTC’ for now, but please set date.timezone to select your timezone. in COREPATH/classes/fuel.php on line 161
はあ。
最初はたんにphp.iniがないんで怒られてたんですが、php.iniを設置し、date.timezoneの値をセットしてあげてもこの症状が変わらない。
どうもあちこち見た感じ、php.iniに書いても空で初期化されてphpが開始してしまっているみたいな感触。
ちなみに近くにある設定箇所の
;date.default_longitude = 35.2333
;date.sunrise_zenith = 90.583333
;date.sunset_zenith = 90.583333
このへんは、コメントアウトされているにもかかわらずなんか値を保持している状態。
気持ち悪くてかなわない。
いささか消極的な解決法
なんだかfuel.phpで死んでるようなので、
fuel/core/classes/fuel.php
の先頭あたりに以下を記述。
やだなあこういうの……。
嫌なのはまああれですが、怒られなくなったのでいったんこれで進めることに。
試し書きでphpinfoとか書いて上げるようなノリの一枚物でも、こういう処置を講じてあげないとだめなのかいな。めんどくさい。
根本的に解決しました
コメント欄参照というと簡単すぎですが、コンパイル時に指定されているphp.iniの位置に、ただしくphp.iniが置かれていないことが原因でした。
あたし/etc/php.iniにおいてたんだけど、phpinfo確認したら
Configuration File (php.ini) Path /usr/local/lib
とあるわけよ。
やんなっちゃうよね。
/usr/local/lib/php.ini
に設置しなおし、php-cgiの再起動(nginxから使うので)して解決。
お騒がせしました。
何故、php.iniでの設定が有効にならないかは謎ですが、タイムゾーンの設定は、app/config/config.php にあります。
kenjisさん
コメントありがとうございます。
職場でこの件を愚痴っていたところ、
phpinfoでLoaded Configuration Fileの項目を見ろと言われました。
あたしがphp.iniを置いていたのは
/etc/php.ini
だったんですが、コンパイル時にここを見ろという指定はしていなかったため、
/usr/local/lib/php.ini
に設置するのが正解でした。
レベル低い話でスイマセン(´・ω・`)