我有一些问题让phpdoc正确运行.大部分文档都是成功生成的,但我多次收到以下警告:
警告:date():依赖系统的时区设置是不安全的.您需要使用date.timezone设置或
date_default_timezone_set()函数.如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符.我们America/Los_Angeles在5064行的/Users/ben/bin/PhpDocumentor/phpDocumentor/Converter.inc中选择' '代表'PST/-8.0 /无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 /无DST'
我可以轻松地从代码中删除Smarty警告,因为它只是在渲染文档中的模板顶部生成时间戳.没什么大不了的.phpDocumentor中的第一个错误我不确定.似乎只是为Smarty为模板指定了一个日期:
$templ->assign("date",date("r",time()));
Run Code Online (Sandbox Code Playgroud)
也许我可以删除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
Run Code Online (Sandbox Code Playgroud)
这是PHP 5.3的工作原理.由于给出的原因(依赖于系统设置是不安全的),PHP 5.3+要求您设置时区.
如果可以,只需在bootstrap/init/settings文件中调用date_default_timezone_set()即可.您还可以在.htaccess文件中指定它,使其成为代码的非问题,如下所示:
php_value date.timezone America/Vancouver
Run Code Online (Sandbox Code Playgroud)