丢失长PHP请求

时间:2016-02-04 02:32:09

标签: php symfony timeout

我设置了我的PHP应用程序的本地副本,该副本在Symfony框架上运行。由于与C ++服务器的套接字通信,它经常处理可能需要一个小时才能完成的请求。我的远程服务器处理这些很好,但我的本地服务器似乎正在丢弃请求,从来没有给出响应。

我已经在php.ini文件中设置了配置指令max_execution_time。是否有其他设置导致此行为?

1 个答案:

答案 0 :(得分:1)

PHP不适用于长时间运行的请求。它假设生成一些输出并将其返回给客户端。

我建议您不要在http请求期间尝试长时间处理,而是返回 202 Accepted 响应并将处理委派给后台进程。

您可以利用消息队列。 http请求会向队列添加一条消息,并且会有一组消费者等待消息并处理它们。