2012-08-24 30 views
8

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" 
+2

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? –

+0

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

+0

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? –

Trả lời

17

CLI và máy chủ web (và cgi và fpm) sử dụng php.ini -files khác nhau. Bởi vì bạn nói rằng bạn thấy đúng giá trị trong trình duyệt của bạn, tôi đoán bạn đã sửa sai. Trên loại cli

php --ini 

Để tìm hiểu, bạn phải chỉnh sửa cái nào. Đó là một trong dòng thứ hai, ví dụ

Loaded Configuration File:   /etc/php5/cli/php.ini 
1

Một số máy chủ (Giống như đền thờ phương tiện truyền thông) thực hiện cấu hình cho domains.So đặc biệt là máy chủ sẽ truy cập vào tập tin php.ini chung đó là dưới/etc/php.ini nhưng trình duyệt truy cập tệp php.ini của miền. Có thể xảy ra sự cố

+1

Đó là về CLI, miền độc lập là gì. – KingCrunch

Các vấn đề liên quan