php – 消息’DateTime :: __ construct()的未捕获异常’异常’:
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 消息’DateTime :: __ construct()的未捕获异常’异常’:,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1782字,纯文字阅读大概需要3分钟。
内容图文
输出在我的PHP文件中创建的日期时出现问题.
我一直在关注如何制作一个真正的基础CMS平台的教程,以帮助我理解数据库和PHP的一些基础知识,在我尝试输出页面创建日期之前,一切都进展顺利.
这是我得到的错误
Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings.
You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of
those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.' in
C:\MAMP\htdocs\basic-cms\page.php:22 Stack trace: #0 C:\MAMP\htdocs\basic-cms\page.php(22): DateTime->__construct('2016-02-17 10:3...') #1 {main} thrown in C:\MAMP\htdocs\basic-cms\page.php on line 22
现在,当我删除page.php中的第22行时,它会输出数据库内的完整日期,即2016-02-17 10:38:05但我正在尝试将其格式化以显示日期,如jS M,Y( 2016年2月17日).
这是我的page.php文件中的代码
if ( $page ) {
$page['created'] = new DateTime( $page['created'] );
if ( $page['updated'] ) {
$page['updated'] = new DateTime( $page['created'] );
}
}
然后在我显示的show.php里面,我有这个代码来格式化日期.
Created on <?php echo $page['created']->format('jS M, Y'); ?>
现在从我的show.php中删除它并没有做任何事情,因为那不是包含错误的地方 – 但我想我会告诉你们我想要实现的目标.
就像我说这是一个非常基本的CMS网站,我正在创建跟随tutorial on YouTube,我已经完全复制了他的代码,他没有错误所以我确定它必须是一个我无法找到的拼写错误.
解决方法:
这是因为在php配置中没有设置时区.
将以下代码行添加到php.ini文件的顶部
date.timezone = "US/Central"
并重启Web服务器
要么
你可以通过php脚本设置它也可以使用以下功能:
date_default_timezone_set('America/Los_Angeles');
别忘了重装/重启apache服务器
内容总结
以上是互联网集市为您收集整理的php – 消息’DateTime :: __ construct()的未捕获异常’异常’:全部内容,希望文章能够帮你解决php – 消息’DateTime :: __ construct()的未捕获异常’异常’:所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。