首页  >  文章  >  后端开发  >  PHP脚本运行成功,却无反应

PHP脚本运行成功,却无反应

WBOY
WBOY原创
2016-08-04 09:20:582085浏览

有个以TP3.1框架开发的功能,计算完成后要求返回{"status":0}
代码最后为

<code> ini_set("max_execution_time", "800");
 
  ...

 $data['status'] = 0;
 Log::write(json_encode($data),Log::DEBUG);
 echo json_encode($data);
 Log::write('echo success',Log::DEBUG);</code>

运行结果为

<code>[ 2016-07-18T14:50:36+08:00 ] DEBUG: 运行时间:486.8268s
[ 2016-07-18T14:50:36+08:00 ] DEBUG: {"status":0}
[ 2016-07-18T14:50:36+08:00 ] DEBUG: echo success</code>

但是页面没 echo json_encode($data);
F12查看http请求就一直没有返回,但是计算却运行完成了,代码基本都贴全了,只要删除一部分计算时间长的代码,就可以得到返回值,但是我已经设置了max_execution_time,计算也没超过时间
PHP脚本运行成功,却无反应
PHP脚本运行成功,却无反应

回复内容:

有个以TP3.1框架开发的功能,计算完成后要求返回{"status":0}
代码最后为

<code> ini_set("max_execution_time", "800");
 
  ...

 $data['status'] = 0;
 Log::write(json_encode($data),Log::DEBUG);
 echo json_encode($data);
 Log::write('echo success',Log::DEBUG);</code>

运行结果为

<code>[ 2016-07-18T14:50:36+08:00 ] DEBUG: 运行时间:486.8268s
[ 2016-07-18T14:50:36+08:00 ] DEBUG: {"status":0}
[ 2016-07-18T14:50:36+08:00 ] DEBUG: echo success</code>

但是页面没 echo json_encode($data);
F12查看http请求就一直没有返回,但是计算却运行完成了,代码基本都贴全了,只要删除一部分计算时间长的代码,就可以得到返回值,但是我已经设置了max_execution_time,计算也没超过时间
PHP脚本运行成功,却无反应
PHP脚本运行成功,却无反应

<code class="php">
 ini_set("max_execution_time", "800");
 
  ...

 $data['status'] = 0;
 Log::write(json_encode($data),Log::DEBUG);
 echo json_encode($data);
 Log::write('echo success',Log::DEBUG);

 exit;//退出脚本
</code>

$data['status'] = 0;
echo 1;
Log::write(json_encode($data),Log::DEBUG);
echo 2;
echo json_encode($data);
echo 3;
Log::write('echo success',Log::DEBUG);

这样试试 看运行到这里没

做的ajax请求?浏览器F12看看请求的链接有没有成功,有没有收到回复。给的信息太少了,补充详细一点。


看不出什么明显的问题,用的xhr做的请求,是不是设置了timeout?导致计算时间过长就忽略返回值了。顺便,建议在echo json前加上header('Content-Type: application/json');

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn