Я работаю в php-проекте, используя codeigniter. Пожалуйста, сообщите мне, что является глобальным способом установки часового пояса для php и mysql. В каком файле я могу установить это. Я хочу установить его без файлов php.ini и .htaccess.
в настоящее время я использую это перед каждой записью:
date_default_timezone_set("Asia/Kolkata"); $time = Date('Ymd h:i:s');
Размещение этой date_default_timezone_set('Asia/Kolkata');
на config.php выше базового url также работает
Список поддерживаемых временных зон PHP
Приложение / config.php
<?php defined('BASEPATH') OR exit('No direct script access allowed'); date_default_timezone_set('Asia/Kolkata');
Другим способом, который я нашел, является полное, если вы хотите установить часовой пояс для каждого пользователя
Создайте MY_Controller.php
создайте столбец в своей пользовательской таблице, вы можете назвать его часовой пояс или любую вещь, которую хотите. Таким образом, когда пользователь выбирает свой часовой пояс, он может быть установлен на свой часовой пояс при входе в систему.
приложение / ядро / MY_Controller.php
<?php class MY_Controller extends CI_Controller { public function __construct() { parent::__construct(); $this->set_timezone(); } public function set_timezone() { if ($this->session->userdata('user_id')) { $this->db->select('timezone'); $this->db->from($this->db->dbprefix . 'user'); $this->db->where('user_id', $this->session->userdata('user_id')); $query = $this->db->get(); if ($query->num_rows() > 0) { date_default_timezone_set($query->row()->timezone); } else { return false; } } } }
Также, чтобы получить список часовых поясов в php
$timezones = DateTimeZone::listIdentifiers(DateTimeZone::ALL); foreach ($timezones as $timezone) { echo $timezone; echo "</br>"; }
Добавьте эту строку внутри основного index.php
папки codeigniter
date_default_timezone_set('Asia/Kolkata');
Как описано здесь
Откройте файл php.ini
(найдите его)
Добавьте следующую строку кода в верхней части файла:
date.timezone = "US/Central"
Проверьте изменения, перейдя на phpinfo.php
добавьте его в свой файл index.php , и он будет работать на вашем сайте
if ( function_exists( 'date_default_timezone_set' ) ) { date_default_timezone_set('Asia/Kolkata'); }
вы можете попробовать следующее:
date_default_timezone_set('Asia/Kolkata');
В приложении / config.php ИЛИ application / autoload.php
Это выглядит так:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); date_default_timezone_set('Asia/Kolkata');
Он работает отлично для меня, я думаю, что это лучший способ определить DEFAULT TIMEZONE в кодегниторе .
Поместите его в config/config.php
, он будет работать для всего приложения или index.php
codeigniter.