Joomla 麻烦 strtotime()

Posted

技术标签:

【中文标题】Joomla 麻烦 strtotime()【英文标题】:Joomla Trouble strtotime() 【发布时间】:2012-12-06 03:37:33 【问题描述】:

joomla 发生了一些奇怪的事情......有人可以帮助我吗?

这是错误:

警告:strtotime() [function.strtotime]:依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们在第 56 行的 /home/fundacio/public_html/libraries/joomla/utilities/date.php 中为 'CLST/-3.0/DST' 选择了 'America/Santiago'

这是网站:www.fundacioncasadelafamilia.cl

【问题讨论】:

没有人会去一个随机的网站;而是发布您的代码。 好吧,我刚刚开始了。如果你不想继续下去——那很好——但不要再试图为每个人说话了,谢谢。我知道发布代码而不是网站是这样的规则,但你可以礼貌地告诉第一次使用的用户,不要那么粗鲁;) 【参考方案1】:

试试这个

在 joomla 中,我们有一个选项可以在后端设置默认时区(管理员部分) 设置他们所需的区域并使用下面的代码在 php 中设置它

//setting the default time zone
$config = JFactory::getConfig();
date_default_timezone_set($config->getValue('config.offset'));

此代码可以放置在您的根目录/includes/framework 或任何根级别文件中 它将覆盖任何地方。

希望这会对你有所帮助..

【讨论】:

请记住,通过将代码添加到 Joomla root/framework/includes 等。它们将在 Joomla 更新时被覆盖。所以php.ini是一个更好的解决方案! 是的,没错,但是我们有管理员选项可以设置这个,所以 php.ini 更改不会从管理员端更新。 没错,但没关系。这个 Joomla 错误跟踪器报告 (joomlacode.org/gf/project/joomla/tracker/…) 建议在 php.ini 中设置它 - 所以我看不出这是一个问题。我认为 Joomla 也会在稍后更正时区!【参考方案2】:

这是 PHP 更改,而不是 Joomla 更改。 PHP 5.3.0 需要正确设置 date.timezone ini 条目以避免发出警告。在 PHP 5.3.0 之前,该行存在于 PHP ini 中,但通常被注释掉。

如果您无法让您的主机更改此设置,您也可以在主 Joomla 安装的 index.php 文件或模板文件中添加:

date.timezone = "America/Anchorage"

但是,这会在 Joomla 更新中被覆盖,因此 php.ini 更改更可取!此外,如果是主机问题,我怀疑许多主机客户会看到此消息!

希望这会有所帮助!

【讨论】:

以上是关于Joomla 麻烦 strtotime()的主要内容,如果未能解决你的问题,请参考以下文章

PHP 日期加减计算方法示例

获取当天是本月的第几周

php 前一天或后一天的日期

为Joomla 2.5的连续插入多幅图像添加便捷方式

将 time_t 转换为 int

以编程方式在Joomla中创建菜单项