2017-09-16 50 views
-1

我有很多PHP文件在Azure中正常工作。我最近将它们转移到了SmarterASP(使用相同的数据库,并正确连接),然后一些相同的文件显示警告和输出,并导致客户端出现问题。这里是其中的一个文件:在不同服务器上显示警告的PHP代码工作

<?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个p arameter,0在 H中给出:\根\家\ lazimsoftware-001 \ WWW \ eeandroid \ androidwebservice \ getDateFromServer.php 第5行{ “偏移”:10, “日期”: “1505538926”}

这是一种情况,也有其他情况。希望我在这里找到解决方案。谢谢。

+2

不知道如何PHP代码将永远不会工作。 'gmdate'函数需要'$ format'字符串参数。 – ficuscr

+1

如果一台服务器出现错误和警告,另一台服务器似乎可以正常工作。 – Andreas

回答

2

所以,函数gmdate需要$format字符串参数。总是有,就像date

串gmdate(字符串$格式[摘要$时间戳=时间()])

,改变了我觉得是,你正在观察它一直发出警告的唯一的事。假设您的错误级别或新服务器上发生了变化。

你的代码确实返回类似{"offset":10,"date":"1505541601"}的东西,但是你传递给date_create的东西并不是你想要的。 $date实际上是布尔假。

+0

所以SmarterASP只是做正确的工作? – Nithin

+0

[记录所有错误](https://stackoverflow.com/questions/3531703/how-to-log-errors-and-warnings-into-a-file)和警告提供了很好的洞察这样的问题,你的代码“作品“,但可能不如预期。将它们记录在生产环境中,并将它们显示在dev/local中。警告说您需要修复该代码并设置要使用的'gmdate'函数的格式。从来没有听说过smarterASP。 – ficuscr

相关问题