Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Ошибка шаблонизатор Smarty

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Estenny
Отправлено: 12 Июля, 2012 - 17:11:55
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Нояб. 2011  
Откуда: Москва


Помог: 0 раз(а)




Добрый день.
Недавно стал использовать в своем проекте шаблонизатор Smarty и меня стала мучать проблема. Предположим, есть страница, которая еще ни разу не компилировалась => скомпилированный шаблон не сохранен еще в папке с этими шаблонами. Если же перейти на эту страницу, то в самый первый просмотр страницы вылезет ошибка, которая сообщает что не существует такого скомпилированного шаблона + еще какая-то ошибка.

Цитата:
Warning: filemtime() [function.filemtime]: stat failed for /Users/mac/Sites/cms/engine/smar ty/compile/c0ee78aa38160b5527d0b 28ee1f4c1f6f03dbf60.file.rating. html.php in smarty_resource.php on line 723

Warning: strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSK/4.0/no DST' instead in smarty_internal_templatecompiler base.php on line 169


Вот пример такой ошибки. Сама страница при этом кореектно загружается. Теперь, если я перезагружу страницу, то такой ошибки больше не наблюдается (как я понимаю из-за того, что шаблон уже сохранен и его можно найти).

Как решить такую проблему, ведь одно дело, если зайду я и увижу ошибку, а другое, если рядовой пользователь. Спасибо заранее.
 
 Top
Alho
Отправлено: 12 Июля, 2012 - 18:08:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


Помог: 11 раз(а)




 
 Top
digi
Отправлено: 12 Июля, 2012 - 18:15:04
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




это не в смарти дело Улыбка) выполните phpinfo() , увидите там такойже варнинг... надо выставить date.timezone в php.ini

да, и разработку ведите всегда в режиме самого полного оповещения о всех ошибках! т.е. никаких ini_set("display_errors", "off"); в девелоперской машине ни в коем случае!

(Отредактировано автором: 12 Июля, 2012 - 18:16:47)

 
 Top
Estenny
Отправлено: 17 Июля, 2012 - 16:46:51
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Нояб. 2011  
Откуда: Москва


Помог: 0 раз(а)




digi, установил, не помогло.
 
 Top
Estenny
Отправлено: 19 Июля, 2012 - 11:56:08
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Нояб. 2011  
Откуда: Москва


Помог: 0 раз(а)




Что делать???
 
 Top
PATCH
Отправлено: 19 Июля, 2012 - 23:14:48
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




http://php.su/functions/?filemtime
http://php.su/functions/?f=strft...&choice=info
p.s а ошибки зачем повашему указаны в каких php файлах происходят?



Warning: strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSK/4.0/no DST' instead in smarty_internal_templatecompiler base.php on line 169

Цитата:

Warning: strftime() [function.strftime]: Не безопасно полагаться на системные настройки даты и часового пояса . мы настоятельно рекоменудуем изменить в настройках date.timezone ( дата и часовой пояс) или использовать функцию date_default_timezone_set() . В случае если вы использовали один из этих перечисленных методов , и выскакивает это предупреждение , значит вы настроили timezone (часовой пояс) с ошибками (не верные индитефикаторы подробнее смотри в документации).Мы выбрали часовой пояс "ЕВРОПА/МОСКВА"для "MSK/4.0" для функции в smarty_internal_templatecompiler base.php on line 169

далее идем на php.net и видем ОХ нефигаж се

Since PHP 5.1.0 (when the date/time functions were rewritten), every call to a date/time function will generate a E_NOTICE if the timezone isn't valid, and/or a E_WARNING message if using the system settings or the TZ environment variable.

Цитата:

Начиная с PHP 5.1.0 (когда функции даты / времени были переписаны).
каждое обращение к функциям даты / времени будет генерировать E_NOTICE, если часовой пояс не является допустимым, то выдаст сообщение E_WARNING, если используются системные настройки или переменную окружения TZ(TimeZone)(Часовой Пояс)


из этого следует что у вас или стандартные настройки date.timezone или же вы не правильно настроили Индитификаторы.
еще классная особенность.

5.3.0 Now throws E_WARNING rather than E_STRICT.


Цитата:
начиная с версии 5.3.0 будет кидать ошибку E_WARNING замест E_SCRIPT


p.s перевод мб и кривоват но смысл понятен (я сам не профессионал в английском))

(Отредактировано автором: 19 Июля, 2012 - 23:16:29)

 
 Top
Estenny
Отправлено: 25 Июля, 2012 - 19:07:36
Post Id



Гость


Покинул форум
Сообщений всего: 122
Дата рег-ции: Нояб. 2011  
Откуда: Москва


Помог: 0 раз(а)




PATCH, это я понял, более того, я нашел ошибку: я задавал эти настройки после подключения Smarty.
Теперь работает практически все, но одна ошибка еще осталась.

Цитата:
Warning: filemtime() [function.filemtime]: stat failed for /Users/mac/Sites/cms/engine/smar ty/compile/081a981bc86ee0d738821 28f3550d35fde0bba1e.file.templat e.html.php in smarty_resource.php on line 723


Ну логично, что появляется такая ошибка, ведь файл еще не был создан, следовательно, нечего возвращать. Но должно же быть лекарство! Это же не задумка такая.
(Добавление)
Нашел: это из-за моей функции обработки ошибок, нужно поправить ее.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB