当收到HTTP请求时,有没有办法让一个PHP脚本处理多个请求,而不是启动PHP脚本的新实例?
答案 0 :(得分:2)
PHP围绕“无共享”概念构建,使您能够通过分布式网络更好地负载平衡和扩展应用程序。所以“不”这个不能完成。如果您认为启动成本很高,那么可以调整架构以在概念上“尽可能多地”缓存您的对象/数据/视图。使用serialize()或其他东西。
答案 1 :(得分:1)
如果您将文件设为HTTP服务器并将其作为进程运行,那么是。
如果它通过Apache和mod_php运行,没有。
(为什么你到底想要那个?)
答案 2 :(得分:1)
还没有看到http请求的实现。我所能完成的就是你等待所有要求回来。您可以通过分叉进程并将其发送到后台在命令行中执行此操作。或者你可以利用Gearman(分布式工作)。
答案 3 :(得分:1)
据我所知,没有办法做到这一点。我能想到的最近的事情是使用像(xcache或APC)这样的php操作码缓存。这些将缓存代码以加快脚本执行速度。我相信每个请求都有自己的脚本实例。
答案 4 :(得分:1)
您想要的是缓存数据。
您的php脚本应该只检查缓存中的请求是否有有效数据。如果没有,则执行数据库读取,更新缓存,并将结果返回给用户。
我建议您查看各种缓存库,并仔细考虑如何扩展缓存。一个开始的地方是Zend_Cache,可能在后端有memcached。
答案 5 :(得分:0)
处理HTTP请求的脚本可以使用套接字从小型PHP守护程序获取数据。
这是一个有用的PHP守护程序库:http://github.com/kvz/system_daemon
还有一些文档:
http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/