首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP创建实时网站

使用PHP创建实时网站
EN

Stack Overflow用户
提问于 2011-04-14 21:46:18
回答 2查看 1.7K关注 0票数 3

我目前正在使用PHP和Kohana框架创建一个网站。我希望网站能够使用实时(或接近实时)的数据(例如,聊天和实时馈送)。我需要它能够扩展到成千上万的并发用户。我已经读了很多书,但仍然不知道最好的方法是什么。

有没有人有使用StreamHub的经验?可以在PHP中使用它吗?

我是不是把自己挖到了一个坑里,需要转换语言?我看过node js和nowjs,但我厌倦了在Express中编写while站点(我想知道安全漏洞,代码可维护性,缺乏良好的ORM)。我读过关于Twisted Python的文章,但不知道有什么web框架可以在上面很好地工作,而且我不喜欢使用Nevow -也许Django可以很好地与Twisted Python一起使用?我只是在寻找正确的方向,所以我不会在PHP中走得太远,并意识到我无法获得所需的近乎实时的结果。

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2011-04-14 21:56:43

我看过nowjs和nowjs,但我厌倦了在Express中编写while站点(我想知道安全漏洞,代码可维护性,缺乏良好的对象关系管理)。

如果你能使用JavaScript,我个人可以保证代码的可维护性。我个人认为JavaScript比PHP更易维护,但这可能是因为缺乏PHP经验。

ORM不是问题,因为node.js偏爱基于文档的数据库。基于文档的数据库和json齐头并进,我发现couch db和它的map/reduce系统很容易使用,使用JSON感觉很自然。

在安全漏洞方面,是的,node.js服务器还很年轻,可能会有漏洞。这些都是不可避免的。目前还没有已知的漏洞,除非有人指出一个大漏洞,否则我会说它并不比IIS/apache/nginx更容易受到攻击。

我希望网站能够使用实时(或接近实时)的数据(例如,聊天和实时馈送)。我需要它能够扩展到成千上万的并发用户。

像这样的可伸缩性需要非阻塞IO。这需要一个非阻塞IO服务器,比如nginx或node.js (是的,阻塞IO可以工作,但是你需要更多的硬件)。

就我个人而言,我建议使用node.js而不是PHP,因为在节点中编写非阻塞IO更容易。你可以在PHP中做到这一点,但你必须做出所有正确的设计和架构决策。我怀疑有没有真正的异步非阻塞PHP框架。

Python的twisted /Ruby的EventMachine和nginx可以一起工作,但我对它们没有专业知识。至少在使用node时,你不会意外地调用阻塞库或使用本机阻塞库,因为JavaScript没有本机IO。

票数 2
EN

Stack Overflow用户

发布于 2011-04-14 21:51:04

PHP不是你应该用来实时更新网站的语言。PHP脚本首先在HTML ( HTML调用javascript文件)之前加载,因此PHP不能为您更新页面。但是,当与AJAX一起使用时(例如使用jQuery函数调用PHP文件来实时更新页面),您可以以这种方式使用PHP。

使用jQuery和AJAX (都是javascript),你可以在不重新加载页面的情况下更新页面。我见过像this one这样的网站,它们演示了如何使用jQuery聊天。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5664225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档