在不同服务器上显示警告的工作PHP代码

在不同服务器上显示警告的工作PHP代码,php,azure,Php,Azure,我有许多PHP文件,它们在Azure中运行良好。我最近将它们转移到SmarterASP(使用相同的数据库,并正确连接),然后一些相同的文件在输出时显示警告,这会给客户端带来问题。以下是其中一个文件: <?php $userTimeZone=$_GET['timezone']; $offset=10; $result['offset']=$offset; $date=gmdate(); $date=date_create($date, new DateTimeZone("GMT")) -&g

我有许多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\home\lazimsoftware-001\www\eeandroid\androidwebservice\getDateFromServer.php 第5行{“offset”:10,“date”:“1505538926”}

这是一种情况,还有其他情况。希望我能在这里找到解决办法。谢谢。

因此,函数需要
$format
字符串参数。总是有,就像日期一样

字符串gmdate(字符串$format[,int$timestamp=time()])

我认为唯一改变的是你正在观察它一直发出的警告。假设新服务器上的错误级别或某些内容已更改


您的代码确实返回类似于
{“offset”:10,“date”:“1505541601”}
的内容,但传递给
date\u create
的内容并不是您想要的
$date
实际上是布尔值false。

不确定PHP代码永远不会工作。函数
gmdate
需要
$format
字符串参数。如果一台服务器出现错误和警告,而另一台服务器出现错误和警告,则一台服务器可能正常工作。警告提供了对类似这样的问题的深入了解,您的代码在这些问题上“起作用”,但可能并不像预期的那样。将它们记录到生产环境中,并在dev/local中显示。警告是说您需要修复该代码并设置
gmdate
函数要使用的格式。从没听说过smarterASP。