【发布时间】:2017-02-26 02:47:07
【问题描述】:
我已经用 codeigniter 实现了 rachet websocket,它在 localhost 中运行良好。这是我们需要从终端/cmd运行的主server.php
require __DIR__ . "/../vendor/autoload.php";
use Chat\Chat;
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
$server = IoServer::factory(new HttpServer(new WsServer(new Chat)), 2000);
$server->run();
我使用以下命令从 cmd 运行此文件
D:\wamp\www\my_project\api\application\third_party\Realtime\bin server.php
此命令启动套接字,现在任何用户通过浏览器访问我的站点,然后他们与套接字连接,我可以向他发送消息。当我关闭终端/ cmd 然后套接字自动关闭。
现在我的开发已经完成,我将所有源代码上传到“openSuse”服务器上。所以我的问题是我如何在实时服务器上运行 server.php 文件? (例如亚马逊 ec2 OpenSuse 服务器)。因为服务器没有终端/cmd。
此外,这应该持续运行,因此任何时候任何用户访问我的站点时,他们都会连接到服务器,我会向他发送消息。
我尝试了很多方法,但无论如何都不起作用。
【问题讨论】:
-
谢谢@AlokPatel,我会实施它并尝试解决我的问题,如果您给定的链接有任何问题,我会在这里发表评论。
-
@AlokPatel 你能告诉我如何在本地主机中设置持久连接吗?我正在使用 wamp (Windows)。我想在 cmd 和任务计划中没有运行命令的情况下做到这一点。有什么方法可以设置任何配置文件?
-
如果您正在开发,最好使用 cmd。它将帮助您查看日志和调试。
-
@AlokPatel 我参考了您给定的文档并按照步骤操作。请看我下面给出的答案,我不能在这里添加长评论:)
标签: php codeigniter sockets websocket opensuse