Как установить date.timezone для воспламенителя кода для работы с php5.3

Когда date.timezone в php.ini закомментирован, он дает мне:

Возникла ошибка PHP

Уровень важности: предупреждение

Сообщение: main (): Нельзя полагаться на настройки часового пояса системы. Вы должны использовать параметр date.timezone или функцию date_default_timezone_set (). Если вы использовали какой-либо из этих методов, и вы все еще получаете это предупреждение, скорее всего, вы ошиблись с идентификатором часового пояса. Вместо этого мы выбрали 'America / Los_Angeles' вместо '-8.0 / no DST'

Имя файла: controllers / helloworld.php

Номер строки: 2

Когда у меня есть

date.timezone = "America/Los_Angeles" 

Это дает мне следующее:

Ошибка сервера. На веб-сайте произошла ошибка при получении http: //localhost/ci/index.php/helloworld . Он может быть отключен для обслуживания или настроен неправильно. Вот несколько советов: перезагрузите эту веб-страницу позже. Ошибка HTTP 500 (Внутренняя ошибка сервера): неожиданное условие возникло, когда сервер пытался выполнить запрос.

Я использую php5.3, код воспламенителя 2.0.0 и Apache2.2. У кого-то тоже есть эта проблема?

Обновление 1: я попробовал загрузить test.php без воспламенителя кода, где первые 3 строки test.php

 date_default_timezone_set('America/Los_Angeles'); echo date("lj \of FY h:i:s A"); 

И он отлично работает, разные таймеры также отлично работают. Поэтому я подозреваю, что проблема связана с воспламенителем кода … Кто-нибудь использует воспламенитель кода здесь?

Если вы Googled «CodeIgniter PHP 5.3», вы бы нашли эту статью довольно быстро 🙂

http://philsturgeon.co.uk/blog/2009/12/CodeIgniter-on-PHP-5.3

Чтобы исправить это, вам нужно только отредактировать основной index.php для вашего приложения CodeIgniter:

 if( ! ini_get('date.timezone') ) { date_default_timezone_set('GMT'); } 

Эта модификация – это то, что вам, вероятно, потребуется сделать для любого приложения CodeIgniter, работающего на PHP 5.3, и его можно легко изменить в локальный часовой пояс. В руководстве по PHP содержится полный список поддерживаемых часовых поясов.

Да, если вы не можете напрямую редактировать файл php.ini, поместив …

 ini_set('date.timezone', 'America/New_York'); 

… поскольку первая строка в index.php CI работает отлично.

Ссылка: доступные временные интервалы PHP

пишите в index.php codeigniter …

 /* |--------------------------------------------------------------- | TimeZone |--------------------------------------------------------------- | | default Time Zone | */ if ( function_exists( 'date_default_timezone_set' ) ) date_default_timezone_set('Asia/Jakarta'); 

Хорошо работает в моем кодеригенере

это простой способ сделать это

 $timezone = "Asia/Calcutta"; if(function_exists('date_default_timezone_set')) date_default_timezone_set($timezone); //echo date('dmY H:i:s'); $localtime=date('H:i:s'); $sql="INSERT INTO hits (ip,edate,curtime,page_name) VALUES ('$ip', CURDATE(),'$localtime','$filename') "; 

date.timezone предназначен для входа в ваш файл php.ini или .htaccess.

вы можете сделать ini_set('date.timezone', 'America/Los_Angeles'); в первой строке вашего скрипта и получить желаемые результаты.