Tôi có cụm từ này trong tập tin php.ini của tôi:php date.timezone không hoạt động chính xác cho dòng kịch bản lệnh chỉ
date.timezone = 'Europe/London';
Nhưng mỗi khi tôi sử dụng DateTime() trong một kịch bản dòng lệnh tôi vẫn nhận được các lỗi sau:
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
do đó tôi phải làm như sau trong bất kỳ kịch bản để có được điều này để làm việc:
date_default_timezone_set('Europe/London');
W mũ khác có thể gây ra lỗi này?
CẬP NHẬT
tôi đã sử dụng sau đây trong cả hai dòng lệnh và trình duyệt web:
<?php
var_dump(ini_get('date.timezone'));
exit;
Trong dòng lệnh tôi nhận được:
string(0) ""
Trong trình duyệt web tôi nhận được:
string(13) "Europe/London"
Bạn có khởi động lại máy chủ của mình sau khi thay đổi tệp php.ini không? –
Có nó đã được khởi động lại nhưng giá trị đã được đặt trong một thời gian và máy chủ đã được khởi động lại nhiều lần ở giữa. Bây giờ chỉ là khi tôi đang viết một kịch bản dòng lệnh mà Ngoại lệ đang xảy ra – user1572427
Bạn có thể thử echo ini_get ('date.timezone') hay không; và xem những gì thực sự được thiết lập? –