首页 > 后端开发 > php教程 > php通过amf 与flex 通信,我调试发现,只要有date()函数,flex返回就报错

php通过amf 与flex 通信,我调试发现,只要有date()函数,flex返回就报错

WBOY
发布: 2016-06-23 14:00:36
原创
993 人浏览过

a.php

<?phpclass edit_img{   function gmtime()   {    $temp = date('Z');    return $temp;   }
登录后复制

}
?>
这个php通过 amf 与flex 通信,我调试发现,只要有date()函数,flex返回就报错。

amf是2.1.1版,反复想不通这个问题

a.php
<?phpclass edit_img{   function gmtime()   {    $temp = time(); //这样就正常    return $temp;   }
登录后复制

}
?>


回复讨论(解决方案)

错误信息是什么?

错误信息是什么?

Flex 提示错误信息:Channel disconnected before an acknowledgement was received 。

目前的调试,flex都报这一个错误

估计是没有指定时区,导致使用date()函数的warning。
php中屏蔽warning级错误,或者在php中加上 date_default_timezone_set("Asia/Shanghai");

date('Z') 返回不超过5位的正负数字
time 返回 10 位的数字

你的 gmtime 显然应返回一个格林威治时间的秒数
如果 gmtime 方法的调用者做了合法性检查,显然就会因错误而终止程序了

这一点你可以这样验证

function gmtime()   {    return 100;   }
登录后复制
登录后复制

date('Z') 返回不超过5位的正负数字
time 返回 10 位的数字

你的 gmtime 显然应返回一个格林威治时间的秒数
如果 gmtime 方法的调用者做了合法性检查,显然就会因错误而终止程序了

这一点你可以这样验证

function gmtime()   {    return 100;   }
登录后复制
登录后复制

感谢版主,在这里问了很多问题都有你的回复。问题已经解决

估计是没有指定时区,导致使用date()函数的warning。
php中屏蔽warning级错误,或者在php中加上 date_default_timezone_set("Asia/Shanghai");

加上就好了,真是奇怪,我测试的时候,即使date('s'); 也返回错误。根本没想到这里。

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板