在不同服务器上显示警告的工作PHP代码
我有许多PHP文件,它们在Azure中运行良好。我最近将它们转移到SmarterASP(使用相同的数据库,并正确连接),然后一些相同的文件在输出时显示警告,这会给客户端带来问题。以下是其中一个文件:在不同服务器上显示警告的工作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
$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。