Подтвердить что ты не робот

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

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

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

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

Сообщение: main(): Небезопасно полагаться на системный часовой пояс Настройки. Вы должны использовать настройки date.timezone или date_default_timezone_set(). Если вы использовали любой из этих методов и вы все еще получаете это предупреждение, вы, скорее всего, ошибочно идентификатор часового пояса. Мы выбрали 'Америка/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("l j \of F Y h:i:s A");

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

4b9b3361

Ответ 1

Если вы 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 здесь.

Ответ 2

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

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

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

Ссылка: PHP Доступные часовые пояса

Ответ 3

пишите в свой index.php codeigniter...

/*
|---------------------------------------------------------------
| TimeZone 
|---------------------------------------------------------------
|
| default Time Zone
| 

*/
if ( function_exists( 'date_default_timezone_set' ) )
date_default_timezone_set('Asia/Jakarta');

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

Ответ 4

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

$timezone = "Asia/Calcutta";
if(function_exists('date_default_timezone_set')) date_default_timezone_set($timezone);
//echo date('d-m-Y H:i:s');

$localtime=date('H:i:s');

$sql="INSERT INTO hits (ip,edate,curtime,page_name) VALUES ('$ip', CURDATE(),'$localtime','$filename') ";

Ответ 5

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

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