ns.giit.us index.php,PHP配置:依靠系统的时区设置并不安全

PHP配置:依靠系统的时区设置并不安全

这个问题在这里已有答案:

“ date():依靠系统的时区设置是不安全的……”                                     22个答案

这里很奇怪。我只是升级到php 5.3.0,自升级以来,我收到以下警告:

警告:getdate()[function.getdate]:   依靠系统的安全性是不安全的   时区设置。 您是必需的   使用date.timezone设置或   date_default_timezone_set()   功能。 如果您使用了   这些方法,你仍然   得到此警告,您最有可能   时区标识符拼写错误。 我们   选择了“美国/芝加哥”作为   'CST / -6.0 /无DST'

在各个论坛中浏览后,每个人都说要解决此问题,您要做的就是编辑php.ini中的日期区域并重新启动Apache。

它对我不起作用。

我试过了

date.timezone="America/New_York"

date.timezone=America/New_York

date.timezone="US/Central"

进行更改后,重新启动了Apache。

由于我仍然有较旧版本的php安装,因此我什至还确保自己正在编辑当前版本php在加载时使用的php.ini。

/usr/local/php5/lib/php.ini

仍然得到警告。

有什么建议么?

感谢您抽出宝贵的时间。

Ole Media asked 2019-10-03T13:45:50Z

12个解决方案

37 votes

查尔瓦克(Tchalvak)对最初的问题进行了评论,为我打了个头。 我一直在编辑(我使用Debian):

/etc/php5/apache2/php.ini

...对于我来说具有正确的时区,并且是其中唯一加载了date.timezone的.ini文件,但是当我通过Bash运行脚本时,我收到上述错误。 我不知道我应该进行编辑:

/etc/php5/cli/php.ini

也一样 (好吧,对我而言,这也是“好”,对您而言,当然可能有所不同,但现在我将使Apache和CLI版本的php.ini保持同步)。

Vaughany answered 2019-10-03T13:46:18Z

17 votes

您是否尝试通过func设置时区:[http://pl.php.net/manual/en/function.date-default-timezone-set.php]

cichy answered 2019-10-03T13:46:45Z

7 votes

最近,我碰巧不得不在两台笔记本电脑上安装Apache和PHP。 经过多次哭泣和咬牙切齿,我在phpinfo的输出中注意到(出于某种原因:在PHP安装过程中没有注意,安装程序不正确),Apache期望php.ini不在某个地方。

两种选择:

将其放在Apache认为应该的位置或

将Apache指向php.ini的真实位置

...并重新启动Apache。 此时应识别时区设置。

Garvin answered 2019-10-03T13:47:38Z

6 votes

打开您的.htaccess文件,将此行添加到文件中,保存,然后重试:

php_value date.timezone "America/Sao_Paulo"

这适合我。

codex answered 2019-10-03T13:48:07Z

5 votes

试试这个,对我有用。

date_default_timezone_set('America/New_York');

在实际文件中抱怨。

selangk answered 2019-10-03T13:48:38Z

2 votes

检查php.ini文件中的语法错误,尤其是在Date参数之前,以防止该文件无法正确解析。

amercader answered 2019-10-03T13:49:03Z

2 votes

请按如下所示修改index.php:

require_once($yii);

$app = Yii::createWebApplication($config);

Yii::app()->setTimeZone('UTC');

$app->run();

Ashutosh Nigam answered 2019-10-03T13:49:28Z

2 votes

显然,我在这个问题上有点过时了,但是为了下一个患者的利益:我只是遇到了这个问题,而我的情况(与OP尝试相同但没有成功的OP相反)是修复php.ini的问题。 ,变化中

date.timezone = America/New York

date.timezone = America/New_York

这就是添加下划线。

user1613163 answered 2019-10-03T13:50:06Z

1 votes

我修改了/etc/php.ini

[日期]; 定义日期函数使用的默认时区; [http://php.net/date.timezone]date.timezone =('亚洲/加尔各答')

现在工作正常。

维平·帕尔(Vipin Pal)

Vipin Pal answered 2019-10-03T13:50:55Z

1 votes

您可能忘记删除分号以取消注释该行。 对于date.timezone = "US/Central"行,请确保该行的前面没有分号。

SirNikkolas answered 2019-10-03T13:51:22Z

0 votes

奇怪的是,我发现可以通过将时区声明放在我的php.ini文件的顶部来修复错误。

它已经在我的php.ini中。 实际上是两次。 我正在拔头发,因为每个人都在说必须再加载另外一个ini ...没有。

希望这可以节省其他人的时间/掉头发。

Soft Bullets answered 2019-10-03T13:52:05Z

-11 votes

你也可以试试这个

date.timezone = <?php date('Y'); ?>

mahami answered 2019-10-03T13:52:31Z

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值