PHPDocumentor предупреждения о проблемах с датой - PullRequest
5 голосов
/ 22 декабря 2009

У меня возникли проблемы с корректной работой phpdoc. Документы создаются по большей части успешно, но я получаю следующее предупреждение много раз:

Предупреждение: дата (): небезопасно полагаться на часовой пояс системы Настройки. Вы обязаны использовать настройка date.timezone или date_default_timezone_set () функция. Если вы использовали какой-либо из этих методов и вы все еще получаете это предупреждение, скорее всего, вы ошиблись идентификатор часового пояса. Мы выбрали 'America/Los_Angeles' для 'PST / -8,0 / нет DST 'вместо этого в /Users/ben/bin/PhpDocumentor/phpDocumentor/Converter.inc по линии 5064

и

Предупреждение: strftime (): небезопасно полагаться на часовой пояс системы Настройки. Вы обязаны использовать настройка date.timezone или date_default_timezone_set () функция. Если вы использовали какой-либо из этих методов и вы все еще получаете это предупреждение, скорее всего, вы ошиблись идентификатор часового пояса. Мы выбрали 'America/Los_Angeles' для 'PST / -8,0 / нет DST 'вместо этого в PhpDocumentor / PhpDocumentor / Smarty-2.6.0 / ЛИЭС / Smarty_Compiler.class.php по линии 370

Предупреждение Smarty, которое я мог бы легко удалить из кода, поскольку оно просто генерирует временную метку в верхней части шаблона в отображаемом документе. Нет, важная персона. Первая ошибка в phpDocumentor, в которой я не уверен. Похоже, что Smarty просто назначает дату для шаблона:

$templ->assign("date",date("r",time()));

Может быть, я мог бы просто удалить все переменные "date" в шаблонах Smarty и эту строку.

В любом случае, это предупреждение также присутствует в сгенерированных документах, и страница указателя просто отображает это предупреждение. Есть идеи, что здесь происходит? Я использую версию 1.4.3 и вот мои флаги / опции:

#!/usr/bin/env bash
phpdoc \
    --title 'Asra Documentation' \
    --directory library/Asra \
    --target docs \
    --defaultcategoryname Asra \
    --defaultpackagename Asra \
    --quiet on \
    --output HTML:frames:phpedit

1 Ответ

7 голосов
/ 22 декабря 2009

Это PHP 5.3 на работе. PHP 5.3+ требует, чтобы вы установили часовой пояс по указанным причинам (полагаться на настройки системы небезопасно).

Если вы можете, просто позвоните date_default_timezone_set () в вашем файле начальной загрузки / init / settings. Вы также можете указать его в файле .htaccess , чтобы сделать его не связанным с вашим кодом, например:

php_value date.timezone America/Vancouver
...