5

我在让 phpdoc 正确运行时遇到了一些问题。大部分文档都已成功生成,但我多次收到以下警告:

警告:date ():依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们America/Los_Angeles在第 5064 行的 /Users/ben/bin/PhpDocumentor/phpDocumentor/Converter.inc 中为 'PST/-8.0/no DST' 选择了 ' '

警告:strftime ():依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们America/Los_Angeles在第 370 行的 PhpDocumentor/phpDocumentor/Smarty-2.6.0/libs/Smarty_Compiler.class.php 中为 'PST/-8.0/no DST' 选择了 ' '

我可以轻松地从代码中删除 Smarty 警告,因为它只是在渲染文档的模板顶部生成时间戳。没什么大不了的。phpDocumentor 中的第一个错误我不确定。似乎只是为模板分配了一个日期给 Smarty:

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

也许我可以删除 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
4

1 回答 1

7

这是工作中的 PHP 5.3。PHP 5.3+ 要求您设置时区,原因已给出(依赖系统设置是不安全的)。

如果可以,只需在 bootstrap/init/settings 文件中调用date_default_timezone_set()即可。您还可以在 .htaccess 文件中指定它,使其成为您的代码的非问题,如下所示:

php_value date.timezone America/Vancouver
于 2009-12-22T17:35:12.830 回答