Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPDocumentor日期问题警告_Php_Smarty_Phpdoc - Fatal编程技术网

PHPDocumentor日期问题警告

PHPDocumentor日期问题警告,php,smarty,phpdoc,Php,Smarty,Phpdoc,我在让phpdoc正确运行时遇到了一些问题。大部分文档都已成功生成,但我多次收到以下警告: 警告:日期():不安全 依赖于系统的时区 设置。您必须使用 date.timezone设置或 date\u default\u timezone\u set()功能。 如果你用了这些方法中的任何一种 你仍然得到这个 警告,您很可能拼错了 时区标识符。我们选择 '美国/洛杉矶'为'PST/-8.0/no' 而不是在 /用户/ben/bin/PhpDocumentor/PhpDocumentor/Conver

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

警告:日期():不安全 依赖于系统的时区 设置。您必须使用 date.timezone设置或
date\u default\u timezone\u set
()功能。 如果你用了这些方法中的任何一种 你仍然得到这个 警告,您很可能拼错了 时区标识符。我们选择 '美国/洛杉矶'为'PST/-8.0/no' 而不是在 /用户/ben/bin/PhpDocumentor/PhpDocumentor/Converter.inc 在线5064

警告:strftime():这样做不安全 依赖于系统的时区 设置。您必须使用 date.timezone设置或
date\u default\u timezone\u set
()功能。 如果你用了这些方法中的任何一种 你仍然得到这个 警告,您很可能拼错了 时区标识符。我们选择 '美国/洛杉矶'为'PST/-8.0/no' 而不是在 PhpDocumentor/PhpDocumentor/Smarty-2.6.0/libs/Smarty_Compiler.class.php 在线370

我可以很容易地从代码中删除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

这是工作中的PHP5.3。PHP5.3+要求您设置时区,原因如下(依赖系统设置是不安全的)

如果可以,只需调用bootstrap/init/settings文件。您还可以将其设置为代码的非问题,如下所示:

php_value date.timezone America/Vancouver

是的,这就是确切的原因@Typeoneerror:这是PHP5.3特有的问题,而不是您实际使用的PHP代码。每次代码调用使用默认时区设置的PHP函数时,您都可能遇到相同的问题。我刚给date\u default添加了一个通话。。在phpdoc文件中。修复了。PHP5.2也会出现这种情况,如果您的错误报告设置为E|u ALL | E|u STRICTI,那么PHPDocumentor也会出现同样的问题,这为我指明了正确的方向。我可以通过在
/etc/php.ini
中取消注释和设置时区来修复它:
date.timezone='America/Chicago'
如果你可以访问
php.ini
,住在中西部等等,这可能是最好的解决方案。