date.timezone PHP エラー

date.timezone PHP エラー

悪名高い PHP タイムゾーン エラーが発生します:

PHP警告: PHP起動: システムのタイムゾーン設定に頼るのは安全ではありません。必須date.timezone設定またはdate_default_timezone_set()関数を使用してください。これらの方法のいずれかを使用してもこの警告が表示される場合は、タイムゾーン識別子のスペルミスである可能性があります。行0の不明な部分で、「MSK/3.0/no DST」の代わりに「Europe/Moscow」を選択しました。

確かに date.timezone を使用し、それを Europe/Berlin と Europe/Vilnius に設定し、php.ini で 'Europe/Vilnius' に設定しましたが、何も機能しないようです。

Ubuntu Linux 9.04 上の Apache 2 サーバーで PHP 5.3.0 を使用する

また、PHP を使用した Apache の起動時にこのエラーが発生します。おそらくプラグインの 1 つ、おそらく pecl が原因だと思います... とにかく、そのタイムゾーンを適切に設定するにはどうすればよいでしょうか? よろしくお願いします!

答え1

php.ini を使用せずにスクリプトごとに (共有ホスティングの場合は特に便利です)、ヘッダーまたは関連する場所にこれを含めます。

<?php
echo date_default_timezone_get(); //Before
date_default_timezone_set('Europe/Berlin');
echo date('Y-m-d H:i:s T'); //After
?>

答え2

ソースから Apache と PHP を完全に再インストールしたら動作するようになりました。おそらく LAMPP のバグだったのでしょう。

関連情報