【问题标题】:PHP warning on date and timePHP 日期和时间警告
【发布时间】:2016-04-03 19:04:00
【问题描述】:

我开始使用 PHP 和 Yii 框架开发一个特定的项目。 当我尝试访问该项目时,会出现此警告:

date():依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们暂时选择了“UTC”时区,但请设置 date.timezone 来选择您的时区。

当我在 Google 上搜索时,我发现我必须取消注释和更改 datetime.zonephp.ini 文件中然后重新启动 apache 服务器。但还是有同样的问题。

请帮忙...

【问题讨论】:

  • 那么你把php.ini中的datetime.zone改成他们了?
  • “如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。” ,你设置了什么时区?
  • 我将其设置为datetime.zone="Asia/Tehran"@RiggsFolly
  • 我设置为datetime.zone="Asia/Tehran"@Vincent
  • 您确定您更新了正确的php.ini 文件吗?您的系统上可能有多个文件。

标签: php mysql date datetime yii


【解决方案1】:

您的 php.ini 设置应如下所示:

date.timezone = "亚洲/德黑兰"

...然后重新启动 Apache(如果 php 作为 CGI、FCGI 或 Apache 模块运行)

如果您使用的是 PHP-FPM,请确保重新启动它:

service php-fpm restart

您也可以在“index.php”中设置它:

<?php

date_default_timezone_set("Asia/Tehran");

如果您没有看到更改 php.ini 的效果,请确保您正在编辑 php 使用的文件。您可以使用此函数检查运行时使用的 php.ini 位置:

<?php
phpinfo(INFO_GENERAL);

【讨论】:

    【解决方案2】:

    在 yii 框架的 index.php 文件中使用以下代码。

    require_once($yii);
    
    $app = Yii::createWebApplication($config);
    
    Yii::app()->setTimeZone("UTC");
    
    $app->run();
    

    【讨论】:

    • 我对所有视图都使用了一种特定的方法:$date =convertGMT2UserTimeZone(date('Y-m-d'),'Y-m-d'); 但是当我将其更改为$date = date_default_timezone_set("Asia/Tehran"); 时,它起作用了。但是当我在朋友的笔记本电脑上尝试使用 ubuntu 操作系统时,它没有任何变化,所以我想弄清楚发生了什么!顺便说一句,我正在使用 Mac OSX 10.10 btw 谢谢你的回复,我希望你能帮助我:)
    猜你喜欢
    • 2023-04-02
    • 2011-06-06
    • 1970-01-01
    • 2013-06-16
    • 2010-11-05
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多