Maison > Article > développement back-end > php通过amf 与flex 通信,我调试发现,只要有date()函数,flex返回就报错
a.php
<?phpclass edit_img{ function gmtime() { $temp = date('Z'); return $temp; }
<?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'); 也返回错误。根本没想到这里。