我有很多PHP文件在Azure中运行良好。我最近将它们转移到SmarterASP(使用相同的数据库,并正确连接),然后一些相同的文件显示警告以及输出,这会导致客户端出现问题。这是其中一个文件:
<?php
$userTimeZone=$_GET['timezone'];
$offset=10;
$result['offset']=$offset;
$date=gmdate();
$date=date_create($date, new DateTimeZone("GMT"))
->setTimezone(new DateTimeZone($userTimeZone))->format("U");
$result['date']=$date;
echo json_encode($result);
?>
我在Azure上获得了正确的输出,只要输入正确(?timezone=Asia/Kolkata
):
{ “偏移”:10, “日期”: “1505538838”}
但是在SmarterASP上,对于相同的输入,我得到了这个:
警告:gmdate()需要至少1个参数,0表示 H:\ ROOT \家庭\ lazimsoftware-001 \ WWW \ eeandroid \ androidwebservice \ getDateFromServer.php 第5行{“offset”:10,“date”:“1505538926”}
这是一个案例,还有其他案例。希望我在这里找到解决方案。感谢。
答案 0 :(得分:2)
因此,函数gmdate
需要$format
字符串参数。总是有,就像date
。
string gmdate(string $ format [,int $ timestamp = time()])
我认为唯一改变的是你正在观察它一直发出的警告。假设您的错误级别或某些内容在新服务器上发生了变化。
您的代码确实会返回{"offset":10,"date":"1505541601"}
之类的内容,但您传递给date_create
的内容并非您想要的内容。 $date
实际上是布尔值假。