2013-07-22 2 views
1

Я неожиданно получаю следующую ошибку на сайте, который я сделал, когда импортирую файл excel в MySQL с помощью библиотеки Excel_Reader.PHP mktime() error

Это сообщение об ошибке, mktime() производит:

сообщение: указываете ей() [function.mktime]: Это не безопасно полагаться на настройки часового пояса системы. Вам необходимо указать , чтобы использовать параметр date.timezone или функцию date_default_timezone_set(). Если вы использовали какой-либо из этих методов, и вы все еще получаете это предупреждение, скорее всего, вы ошиблись с идентификатором часового пояса. Мы выбрали 'Азия/Красноярск' для '7.0/нет DST' вместо

Ошибка из-за следующей строки:

$string = date ($format, mktime($hours, $mins,$secs, 
       $dateinfo["mon"], $dateinfo["mday"], $dateinfo["year"])); 

Я в настоящее время использую PHP версии 5.3.1. Является ли этот сценарий несовместимым с моей версией PHP? Как я могу исправить эту ошибку?

+1

Вы пытались ** ПРОЧИТАТЬ ** сообщение об ошибке? В нем четко сказано, что вы делаете неправильно – zerkms

ответ

2

Ошибка говорит все. Опираясь на настройки часового пояса системы - это плохая идея, поэтому вам нужно будет указать часовой пояс, используя один из следующих вариантов.

У вас есть три решения:

  1. Установите часовой пояс по умолчанию в вашем PHP-скрипт, используя date_default_timezone_set():

    date_default_timezone_set("America/Los_Angeles"); 
    
  2. Используйте ini_set() установить часовой пояс по умолчанию:

    ini_set('date.timezone', 'America/Los_Angeles'); 
    
  3. Определите его как date.timezone в своем php.ini файл.

Документация: date_default_timezone_set()ini_set()

Надеется, что это помогает!

+0

спасибо большое ... :) – dyn

+0

Это было легко, я поставил 'date.timezone = UTC' в свой файл php.ini, так как это то, что я использовал навсегда, и проблема решена однажды. –

Смежные вопросы