Joomla安装新语言DateTime::__construct():无法解析时间字符串(jerror)。

8
我是在我的家用电脑上安装的 Joomla 3.1 版本。我的环境是 Ubuntu 12.10,带有 Apache 服务器和 PHP 5.4.6。自从安装系统以来,我现在只是尝试通过语言管理器安装更多语言:
如您所见,我想要的其他两种语言显示在列表中,但在选择每种语言并单击“安装”后,我被引导到一个页面,并显示以下信息:
DateTime::__ construct(): Failed to parse time string (jerror) at position 0 (j): The timezone could not be found in the database 页面上还有一个按钮可以回到控制面板。看到这些语言出现在列表中让我感到惊讶。
当我尝试(而失败)安装第一个组件时,我也看到了此消息-它是一个在文章中嵌入 Google 地图的组件。
不管怎样,我没有找到在线解决此问题的方案,我想知道是否有人知道问题出在哪里。非常感谢任何帮助!
编辑
在我的情况下,问题实际上是我的某些目录不可写。我转到“系统信息”下的“目录权限”选项卡,并尝试确保所有目录都可写。当我首次打开它时,“管理员”目录中的所有目录都不可写入,我们通过 Linux 中的 shell 将它们更改为可写入的,然后我就能够安装新的语言而没有上述错误消息了。
7个回答

18

这是 Joomla 3 最愚蠢的错误。我浪费了两天的时间来尝试解决这个问题,最终发现问题出在 configuration.php 文件中的logtmp路径未正确设置。

不要担心,你的日期/时间/时区/本地化设置没有任何问题。这只是一个愚蠢的消息,与实际问题无关。

为了节省时间,我建议你使用此脚本获取完整路径:

<?php
$dir = dirname(__FILE__);
echo "<p>Full path to this dir: " . $dir . "</p>";
?>

创建一个PHP文件并将其上传到Joomla根目录。这将为您正确获取路径。

我的路径看起来完全相同,只是一个大写字母搞砸了一切。

请注意,如果文件夹没有正确的权限(不可写),则可能会发生此错误。


谢谢Ahmad,我已经检查了我的configuration.php文件和日志以及临时路径,它们都是正确的...不确定是否可能是我的配置文件出了其他问题。 - jeffery_the_wind
是的,我刚刚做了,路径完全相同,只是dirname(__FILE__)的输出末尾有一个$字符,但我认为这只是我的shell的问题。所以路径名已经正确。 - jeffery_the_wind
好的,你能检查一下更新和添加的内容吗?另外尝试添加这个 $ 符号,我认为它可能是问题所在。 - Ahmad Alfy
1
我更改了所有权限,使文件夹可写,问题得到解决! - jeffery_the_wind
刚刚将一个 J3 网站从一台服务器克隆到另一台,遇到了这个问题……是我忘记修改配置文件中的 tmp 和 log 路径。看起来你帮我省去了数天的工作!谢谢。 - Doug
显示剩余5条评论

5

我有一个针对 Joomla 3x 中这个问题的成功解答。

DateTime::__construct(): Failed to parse time string (jerror) at position 0 (j): The timezone could not be found in the database

  1. 设置正确的 Joomla 网站的 tmp 文件夹路径

    登录 Joomla 管理员面板,依次点击“系统”-“全局配置”-“服务器”

    并在“Tmp 文件夹路径”中输入正确的路径:

    例如:http://www.yourDomain.com/tmp

  2. 解决 PHP 文件路径问题

    路径:libraries/joomla/filesystem/folder.php

    将在线 260 行改为以下代码:

__METHOD__ . ': ' . JText::_('JLIB_FILESYSTEM_ERROR_COULD_NOT_CREATE_DIRECTORY'). 'Path: ' . $path, JLog::WARNING, 'jerror'


1
如果您尝试登录管理员面板时出现错误怎么办?我一直收到这个错误,而且登录凭据是正确的。 - twan

2

这个问题是由于您更改了Joomla的主机和配置.php文件中/tmp和/log目录的地址,需要使用新地址进行更正。


这应该是一个注释。 - ρяσѕρєя K

2
我通过创建 /tmp 和 /log 目录并将它们设为可写,解决了这个问题。这些目录位于网站根目录的上一级。
Example:
/home/sitename/log
/home/sitename/tmp

2

好的,刚刚遇到了相同的问题,正在帮助一个朋友安装新模板时,他的 Joomla 3 网站无法安装。在系统信息中,每个项目看起来都很正常,都可以写入,但是仔细查看后,我发现虽然 plugins/ 已被标记为可写入,但我还需要更改 plugins/ 中每个文件夹的权限,这样它就可以直接工作了。 希望这可以帮到你。


1
这个问题可以很容易地解决。
前往 plugins/system/yt/includes/libs/yt-minify.php 前往此行:
$this->optimizeFolder  = $app->getTemplate(true)->params->get('optimizeFolder', 'yt-assets');

将其翻译为中文:"

并将其更改为:

"
$this->optimizeFolder = $app->getTemplate(true)->params->get('optimizeFolder', 'yt-assets');
$this->optimizeFolder = JPATH_ROOT.'/'.$this->optimizeFolder;

希望它能正常工作!

0

如果你正在使用管理工具,当你尝试使用错误的管理员密码登录时(因为它锁定了目录),它会导致此问题出现。此外,它会让你心脏病发作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接