错误500:DateTime :: __ construct():无法解析时间字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误500:DateTime :: __ construct():无法解析时间字符串相关的知识,希望对你有一定的参考价值。
在Joomla组件com_search中我修改了以下行:
<?php if ($this->params->get('show_date')) echo JText::sprintf('Published %s', $result->created).'. '; ?>
至:
<?php if ($this->params->get('show_date')) echo '<span>'.JText::_('PUBLISHED').': '.'</span>'.JText::sprintf('%s', Jhtml::_('date',$result->created, JText::_('d. m. Y, H:i'))); ?>
搜索时遇到错误500:
DateTime::__construct(): Failed to parse time string (19. 06. 2012) at position 0 (1): Unexpected character
哪里有问题?
来自com_search(default_results.php)的整个代码可以更好地理解:
<div class="items">
<?php foreach ($this->results as $result) : ?>
<article class="item">
<header>
<?php if ( $result->href ) : ?>
<h1 class="title"><a href="<?php echo JRoute::_($result->href); ?>" <?php if ($result->browsernav == 1 ) echo 'target="_blank"'; ?>><?php echo $this->escape($result->title); ?></a></h1>
<?php else : ?>
<h1 class="title"><?php echo $this->escape($result->title); ?></h1>
<?php endif; ?>
<?php if ($result->section || $this->params->get('show_date')) : ?>
<p class="meta">
<?php if ($this->params->get('show_date')) echo '<span>'.JText::_('PUBLISHED').': '.'</span>'.JText::sprintf('%s', JHtml::_('date',$result->created, JText::_('d. m. Y, H:i'))); ?>
<?php if ($result->section) echo JText::_('TPL_WARP_POSTED_IN').' '.$this->escape($result->section); ?>
</p>
<?php endif; ?>
</header>
<div class="content clearfix"><?php echo $result->text; ?></div>
</article>
<?php endforeach; ?>
</div>
<?php echo $this->pagination->getPagesLinks(); ?>
我刚刚将你的新系列复制并粘贴到Joomla 2.5.6的本地托管副本中,它的工作非常好 - 完全没有错误!
DateTime :: __ construct():无法解析位置0(1)处的时间字符串(19。06. 2012):意外字符
19. 06. 2012
不是PHP的DateTime
类接受的日期格式,请参阅PHP手册页“Date Formats”以获取所理解的格式列表。
在谷歌花了四个小时来解决这个问题,结果证明我的原因是不可写的/logs
和/tmp
文件夹。
要验证,请按照下列步骤操作:
- 加载以下URL(替换您自己的域和主机名):
http://www.example.com/administrator/index.php?option=com_admin&view=sysinfo
- 导航到“所有者权利”
- 检查
logs
和tmp
are是否可写 - 如果没有,您应该更改configuration.php文件中这些文件的路径。
以下是来自Joomla forum topic的相关引用,它帮助我得出了这个结论:
你好我最近有同样的问题,但发现了诀窍!
日志目录($ log_path)./ logs /不可写 临时目录($ tmp_path)./ tmp /不可写
正确的目录路径必须是: 日志目录($ log_path)../ logs / 日志目录($ log_path)../ tmp /
在Joomla中,当尝试安装任何类型的扩展时,也会发生此错误,但PHP代码无法写入temp和logs目录。
如果进入系统,系统信息和目录权限,则所有权限都应该是可写的。可以在configuration.php中更改temp和logs目录的路径,也可以使用Global Configuration菜单和System and Server选项卡。
以上是关于错误500:DateTime :: __ construct():无法解析时间字符串的主要内容,如果未能解决你的问题,请参考以下文章
无法通过Paypal测试工具测试IPN(HTTP错误代码500)_Asp.net
DateTime::__construct(): 无法在位置 0 (2) 解析时间字符串 (2): 中的意外字符
无法启动会话:已由 PHP 启动(设置了 $_SESSION)。 500 内部服务器错误 - RuntimeException