php.ini ファイルに次のエントリがあります。
date.timezone = 'Europe/London';
しかし、コマンド ライン スクリプトで DateTime() を使用するたびに、次のエラーが発生します。
Exception: DateTime::__construct(): 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 'Europe/London' for 'BST/1.0/DST' instead
したがって、これを機能させるには、スクリプトで次のことを行う必要があります。
date_default_timezone_set('Europe/London');
他に何がこのエラーを引き起こしている可能性がありますか?
アップデート
コマンドラインと Web ブラウザの両方で以下を使用しました。
<?php
var_dump(ini_get('date.timezone'));
exit;
コマンドラインで私は得る:
string(0) ""
Webブラウザで私は得る:
string(13) "Europe/London"