使用PHP创建实时网站

2024-10-01 19:20:57 发布

您现在位置:Python中文网/ 问答频道 /正文

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

有人有使用StreamHub的经验吗?它可以和PHP一起使用吗?在

我是不是在自掘坟墓,需要转换语言?我已经看过node js和nowjs,但是我对用Express编写while站点感到厌烦(我想知道安全漏洞、代码可维护性、缺少良好的ORM)。我读过Twisted Python,但是不知道什么样的web框架可以很好地在上面工作,我不希望使用Nevow——也许Django可以很好地与Twisted Python一起使用?我只是希望被指向正确的方向,所以我不会在PHP中走得太远,并意识到我无法获得所需的接近实时的结果。在

谢谢你的帮助。在


Tags: 数据方法用户框架语言node网站js
2条回答

I've looked at node js and nowjs, but I'm weary about coding a while site in Express (I wonder about security holes, code maintainability, lack of a good ORM).

如果你能做JavaScript,我可以亲自担保代码的可维护性。我个人觉得JavaScript比PHP更易于维护,但这可能是因为缺乏PHP经验。在

ORM不是一个问题,因为节点.js支持基于文档的数据库。基于文档的数据库和JSON是齐头并进的,我发现couch数据库和它的map/reduce系统易于使用,使用JSON感觉很自然。在

在安全漏洞方面,是的节点.js服务器年轻,可能有漏洞。这些都是无法避免的。目前还没有已知的漏洞,我想说它也不会更容易受到攻击 然后是IIS/apache/nginx,直到有人指出一个大缺陷。在

I want to site to be able to use real time (or near real time) data (e.g. for chat and real time feeds). I need it to be able to scale to thousands of concurrent users.

这样的可伸缩性需要非阻塞IO。这需要一个非阻塞IO服务器,如nginx或节点.js(是的,阻塞IO可以工作,但您需要更多的硬件。在

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

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

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

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

相关问题 更多 >

    热门问题