Hôm nay Kỹ Thuật Xin giới thiệu với các bạn về múi giờ của PHP và cách chỉnh múi giờ trên VPS và Hosting
nội dung
TIMEZONE LÀ GÌ?
- Một giờ là một vùng trên Trái Đất mà người ta quy ước sử dụng cùng một thời gian tiêu chuẩn, thông thường được gọi là giờ địa phương. Về lý thuyết, các đồng hồ tại vùng này luôn cùng một thời gian
- Hiện nay trên thế giới có một số loại quy ước về múi giờ
- giờ GMT. được quy ước lần đầu tại Anh vào thế kỷ 19
- UTC. được thực hiện bằng phương pháp nguyên tử. Is time system used in many standard internet and WWW. Đặc biệt là giao thức giờ trên mạng – NTP được thiết kế để phân phối tự động giờ trên internet
ĐIỀU CHỈNH TIMEZONE TRÊN LINUX
Xác định giờ đang chạy trên Linux
Để xác định giờ trên Linux, bạn hãy sử dụng ngày lệnh
Xác định thư mục chứa múi giờ
Trên Linux có một thư mục chứa múi giờ cài đặt thông tin nằm ở vị trí /usr/share/zoneinfo/
Xác định múi giờ mình muốn thay đổi và sao chép múi giờ tệp sau đó chuyển về tệp /etc/localtime
cp /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime
Kiểm tra lại ngày lệnh để xem ngày giờ đã hiển thị chưa chính xác
Đồng bộ giờ qua internet với các máy chủ NTP
Tương tự như Window, Linux cũng cho phép đồng bộ giờ với các máy chủ NTP trên thế giới
Ta cần sử dụng phương pháp này khi đã chọn múi giờ đúng nhưng trước đó ta đã sử dụng ngày lệnh để chỉnh giờ và hiển thị kết quả không chính xác như mong muốn
Trước tiên cần cài đặt gói ntp, sử dụng lệnh yum
yum install -y ntp
Khởi động dịch vụ
service ntpd start
Run command next to clock over internet
ntpdate vn.pool.ntp.org
[Trong đó vn. hồ bơi. ntp. org là máy chủ để đồng bộ, muốn đồng bộ giờ đúng thì trước tiên phải chọn múi giờ đúng sao chép vào /etc/localtime]
PHONG CÁCH TIMEZONE CHO PHP HIỆN PHP. INI
Trước tiên cần tìm tệp php. ini trên máy chủ nằm ở đâu, gõ lệnh
php -i | grep ini
Open file php. ini theo đường dẫn
vi /usr/local/etc/php5/cgi/php.ini
Thêm dòng lệnh vào tệp đầu tiên và lưu lại
date_default_timezone_set['Asia/Ho_Chi_Minh'];
[Với Asia/Ho_Chi_Minh là múi giờ muốn cài đặt, có thể tham khảo thêm các múi giờ khác tại đây. http. //php. net/manual/en/múi giờ. php]
If not change in file php. ini, bạn có thể đặt lệnh đó vào trong mã php của mình để tùy biến múi giờ theo từng mã nguồn.
CÁCH ĐỔI TIMEZONE TRÊN CPANEL HOSTING 123HOST
Đăng nhập vào cpanel hosting 123host
Tìm đến Phần mềm > Chọn phiên bản php
Chọn tiếp Chuyển sang Tùy chọn PHP
In line date. múi giờ, ta nhập vào múi giờ muốn thay đổi [tên các múi giờ tương tự trong tệp php. ini] và nhấn Áp dụng, sau đó nhấn Lưu để lưu lại
Để kiểm tra thời gian đã sửa đổi chưa chính xác trong tệp php. ini and on cpanel hosting, ta will make a gettime file. php đơn giản với nội dung
Để giải quyết vấn đề này có nhiều cách, tuy nhiên trong chuyên đề này mình đi về thời gian trong php nên mình sẽ luôn sử dụng hàm đặt lại giờ
Nếu bạn muốn thay đổi cấu hình múi giờ cho tập lệnh PHP, bạn có thể chèn đoạn mã sau vào phần mã PHP của bạn
\\ echo “Giờ gốc. “. ngày [“h. i. S"]. ”\n”;
putenv[“TZ=US/Eastern”];
\\ echo “New Time. “. ngày [“h. i. S"]. ”\n”;
?>
Danh sách các khoảng thời gian danh sách để sử dụng thay thế cho giá trị “US/Eastern” trong hàm putenv[] có thể tìm thấy ở đây