php.iniファイルにデフォルトのタイムゾーンを設定しました。
date.timezone = Europe/Rome
編集後にサービスも再起動しましhttpd
たが (service httpd restart)、呼び出すdate_default_timezone_get()
と「UTC」値が返されます。
なぜこれが起こるのですか?
また、呼び出すとphp_info()
、設定されたタイムゾーンが表示されますphp.ini
PS。私の英語でごめんなさい。
コード (フレームワークを含む) がタイムゾーンをまったく変更せず、PHP バージョン 5.1.x から 5.3.x で実行している場合、TZ
環境変数がシステムのどこかに設定されている可能性があります。その後、date.timezone
設定は無視されます。
date.timezone
(強調鉱山)の PHP マニュアル ページを参照してください。
すべての日付/時刻関数で使用されるデフォルトのタイムゾーン。PHP 5.4.0 より前では、これは TZ 環境変数が設定されていない場合にのみ機能します。[…]
システムで環境変数が設定されているかどうかを確認するTZ
には、次を使用できます
if (isset($_ENV['TZ'])) {
echo 'TZ=' . $_ENV['TZ'];
}
else {
echo 'TZ not set';
}
または置く
phpinfo();
コードのどこかで、出力の一番下にある「PHP 変数」セクションを確認してください。
私はちょうど同じ問題を抱えていました。
私のphp.ini
では、タイムゾーンに十分な情報がありました。
date.timezone = Europe/Paris
私はphpコマンド--ri date
でチェックし、タイムゾーンはphp.ini
うまく処理されていたので、エラーはiniファイルからのものではありませんでした。
エラーは、変数PHPIniDirhttpd.conf
が宣言されている apache のファイルから発生しました。
入れていたPHPIniDir "C:\PHP\"
次を与える最後のバックスラッシュを削除する必要があります。
PHPIniDir "C:\PHP"
このフィードバックがお役に立てば幸いです。
(正確には、私の環境は次のとおりです:Windows 7、php 5.4.32およびapache 2.2.25)