タイトル長すぎか。まあいいか。
VPSに適当にphp5.5.8(mysql,openssl,enable-cgiが有効)を放り込み、fuelphpをセットアップしております。

oilでアプリケーションを生成するあたりで、最後に
php composer.phar update
こんなのやりますな。すると
Writing lock file
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_latitude = 31.7667
;date.default_longitude = 35.2333
;date.sunrise_zenith = 90.583333
;date.sunset_zenith = 90.583333

このへんは、コメントアウトされているにもかかわらずなんか値を保持している状態。
気持ち悪くてかなわない。

いささか消極的な解決法

なんだかfuel.phpで死んでるようなので、
fuel/core/classes/fuel.php
の先頭あたりに以下を記述。
date_default_timezone_set(“Asia/Tokyo”);

やだなあこういうの……。
嫌なのはまああれですが、怒られなくなったのでいったんこれで進めることに。
試し書きで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から使うので)して解決。
お騒がせしました。

「(解決済)fuelphpセットアップ時に怒られる(Error – date_default_timezone_get(): It is not safe to rely on the system’s timezone settings.以下略)」への2件のフィードバック

  1. 何故、php.iniでの設定が有効にならないかは謎ですが、タイムゾーンの設定は、app/config/config.php にあります。

    1. kenjisさん
      コメントありがとうございます。
      職場でこの件を愚痴っていたところ、
      phpinfoでLoaded Configuration Fileの項目を見ろと言われました。
      あたしがphp.iniを置いていたのは
      /etc/php.ini
      だったんですが、コンパイル時にここを見ろという指定はしていなかったため、
      /usr/local/lib/php.ini
      に設置するのが正解でした。
      レベル低い話でスイマセン(´・ω・`)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です