4

HTTP 2.0 中的多流方法似乎很有趣。我想知道,今天是否可以与 PHP 一起使用?

它可以通过从不同的数据库查询发送不同的站点内容来加速 php 应用程序。

编辑:我的示例是通过在 PHP 中使用多线程同步线程(有很多好的库可以做到这一点)同时获取 2 个或更多站点内容并将其发送(不是程序执行)。

4

3 回答 3

2

我相信今天在某种程度上是可能的。您可以使用 PHP 配置 mod_spdy。据称,您可以通过 Apache 配置中的标头来宣传 SPDY 功能据称,您可以通过本文

Header set Alternate-Protocol "443:spdy/2"

兼容的浏览器此时应该开始利用 SPDY 的优势,而无需更改您的 PHP 代码;但是我认为这只是意味着您可以放弃 CSS sprites、CSS / JS 文件合并和域分片等。基本上所有在使用传统方法优化网站时可以减少 HTTP 查询数量的事情。

至于你的实际问题,

从不同的数据库查询发送不同的站点内容

使用支持 SPDY 的服务器优化 PHP 站点的一个想法是通过大量 AJAX 请求,因为它们都将通过单个 HTTP 连接神奇地中继(理论上)。同样,一旦您使用 PHP 配置了 mod_spdy 服务器,这将需要进行一些测试,但根据我读过的所有内容,我认为可能是这种情况。请参阅此线程并回答更多信息。

..如果您有一个高度交互的 AJAX 密集型应用程序,其中包含许多小查询和更新,SPDY 为自然阻抗不匹配交互性和 HTTP 提供了一个优雅的解决方案。

我不确定是否有可用的 HTTP2 模块,但假设很快就会有一个。在那之前,我的理解是 mod_spdy 是 Apache 的方式。也有Nginx和 PHP 解决方案的其他服务器的选项。

于 2015-02-19T06:33:33.893 回答
0

Whilst not HTTP/2 - PHP is capable of support WebSockets, which would allow you to send different site contents from different database queries.

There is a WebSocket library called 'Ratchet' for PHP which may achieve what you are trying to do :)

HTH

于 2015-02-10T09:03:47.170 回答
0

Jetty Web 服务器支持 HTTP2 和 fastCGI 到 PHP。例如,我们的主站点 webtide.com 在 jetty 后面运行 wordpress。

另请注意,Jetty 使用的异步代理机制意味着即使使用 HTTP2 推送等功能,它们也会并行发生。例如,Jetty 可能决定推送几个相关的资源,它们将被异步和并行地分派到 word press。

于 2015-02-10T20:59:39.483 回答