是否有处理 php 脚本的类似 Apache 的 Websocket 服务器解决方案?

Posted

技术标签:

【中文标题】是否有处理 php 脚本的类似 Apache 的 Websocket 服务器解决方案?【英文标题】:Is there an Apache-like Websocket server solution that handles php scripts? 【发布时间】:2016-12-27 05:36:20 【问题描述】:

有很多用各种语言实现 TCP/IP-WS 堆栈的示例,包括 php/CLI。但这不是我想要的。

对于 http 协议,有 Apache 网络服务器软件。它在默认的 http 端口 80 上侦听传入请求。在共享托管服务器上,它可以托管一系列域名,并且传入的请求 url 映射到“hostAccountDir/domainName/docRoot/”中的正确服务目录/文件。

在此模型中,每个 PHP 脚本都是“专用 HTTP/应用程序级别”服务器;并且不需要发明/实现 TCP/IP-HTTP 堆栈。幸运的是,Apache 对所有 PHP 脚本都这样做了。

Websockets 有没有这样的东西,监听端口 9000(?),分叉到服务的目录/文件......等等?

【问题讨论】:

有趣的问题。你能解释一下为什么主管运行的 php cli 工具不适合吗? • 我正在寻找在应用程序文件中获得更多凝聚力的方法。如果我有一个包含 websocket 部件的应用程序目录,我希望将客户端和服务器部件放在同一个目录中。 • 不允许在共享主机服务器上使用 TCP/IP 端口并启动服务器。 • 类似于 Apache 的 websocket 服务器,通过 URL 将请求分叉/映射到正确的应用程序级 php 文件,这对于共享托管服务器来说似乎是一个很好的解决方案。 【参考方案1】:

Apache 今天的网站数量超过70%,但新的替代品正在获得市场份额。 Apache 是一个可靠的服务器,但运行需要相当多的内存。在某些情况下,其他 Web 服务器可以执行得更好。最著名的替代开源HTTP 服务器是lighttpd, nginx, and Cherokee.

PHP-FPM 可以监听多个套接字。它还收听Unix sockets, or TCP sockets

nginxHTTP 服务器和邮件代理服务器。它已经在许多负载很重的俄罗斯网站上运行了两年多,并且在世界其他地方变得越来越流行,以至于今天它被所有网站中的6.5% 使用。

更多详情请参考以下链接。

https://serversforhackers.com/video/php-fpm-configuration-the-listen-directive

https://linuxaria.com/article/apache-alternatives-for-serving-php

【讨论】:

以上是关于是否有处理 php 脚本的类似 Apache 的 Websocket 服务器解决方案?的主要内容,如果未能解决你的问题,请参考以下文章

PHP的内部工作原理

Apache web server,MySQL与PHP在一个web网站架构中各扮演啥角色。(答好追加50)

如何找出进程在 Linux 中运行的 PHP 脚本?

部署LNMP架构之安装PHP

PHP的调试环境程序集成包----phpStudy

PHP基础之PHP的工作流程