在没有nodejs的laravel中创建一个实时应用程序

Posted

技术标签:

【中文标题】在没有nodejs的laravel中创建一个实时应用程序【英文标题】:creating a real time application in laravel without nodejs 【发布时间】:2017-01-20 06:58:02 【问题描述】:

我正在使用无法使用node js 的共享主机。

但我想根据https://laravel.com/docs/5.3/broadcasting doc 使用 laravel 创建一个实时应用程序,如果我没记错的话,他们提供的驱动程序都使用node

我还搜索了与 laravel 一起使用的 https://github.com/Askedio/laravel-ratchet,但它需要 ZMQ,我无法将其安装在我的共享主机上。

我应该怎么做?

【问题讨论】:

【参考方案1】:

您可以使用 Pusher 并将其与 Laravel Echo 结合使用。 Echo 是一个前端 JS 框架,所以只要包含资产就可以了。

我认为应该说在共享托管服务器上开发这类应用程序可能不是一个好主意,原因如下:

    您几乎没有 SSH 访问权限,因此部署和调试非常痛苦 您无法安装所需的其他软件,例如 NodeJS 共享托管服务器通常不是为了运行繁重的 php 应用程序而构建的,它们是为了服务于简单的网站而构建的(这就是它们如此便宜的原因) 根据您的主机,除 80 和 443 之外的所有其他端口都已关闭,因此可以阻止使用外部服务

总而言之,我认为最好购买便宜的 VPS(即 DigitalOcean 10 美元计划),您可以在其中实际执行所有这些操作。是的,它比共享主机贵,但如果这真的改变了游戏规则,那就找一个赞助商或合作伙伴。与使用共享主机的痛苦相比,120 美元简直是小菜一碟,这完全没有经验。

【讨论】:

1.我有 ssh 访问权限;)。现在 pusher 真的很好也很简单,至少对我来说使用前端 laravel echo 并不容易,因为我不是节点程序员我试过npm install --save laravel-echo 并将 js 从那里复制到我的项目中(我不确定是什么正确的方法),但它开始给出控制台错误 实现 pusher 的最佳方式是通过 pusher.js 和免费版的 pusher 不允许超过 100 个连接,我正在考虑 socketo.me 但 laravel 不支持这个 您最后的评论恕我直言只会加强我已经说过的话。如果您真的要构建如此庞大而繁重的应用程序,只需获得“真正的”服务器即可。老实说,它们并没有那么贵,它会为您节省很多麻烦和时间。

以上是关于在没有nodejs的laravel中创建一个实时应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何在nodejs中创建线程

NodeJS Bluebird Promise 在处理程序中创建但没有从它返回

在 laravel 5.2 中创建符号链接时出错?

在 Laravel 中创建排名表

在 Laravel 中创建用户表

如何在 Laravel 4 中创建 Hstore 列类型?