如何使PHP代码保持活动状态?

时间:2012-08-04 13:23:41

标签: php server-side keep-alive

我是网络编程的新手。我有基本的PHP编程技能。

根据我对PHP的理解,它在服务器端运行并生成HTML代码,服务器端PHP脚本结束,然后生成的HTML代码发送给我们(我们=客户端的浏览器)。但是在我在互联网上遇到的一些网页(用PHP编程)中,即使在页面完成加载后的很长一段时间内,服务器 - 客户端交互也会在后台静默运行。

例如,在Stack Exchange社区中,当我查看新问题时,我发现投票计数正在发生变化(正如其他用户投票)而没有刷新页面。这表明后台脚本正在与数据库通信,对吧?

这些页面是用纯PHP实现的吗? 如果是,我认为PHP脚本必须在生成的HTML代码发送之前在服务器端完成。这种方法的秘诀是什么? 如果不是,我还需要学习哪些额外的编程语言和/或网络技术才能学习它?他们是否将其他技术与PHP结合在一起?

请指导我。

5 个答案:

答案 0 :(得分:5)

这不是PHP正在运行,这是AJAX

答案 1 :(得分:1)

没有一种语言可以构建整个网页。您看到的现代网页是使用多种语言生成的。

答案 2 :(得分:1)

当你看来需要知道的是结束(动态页面)时,你问的是结束的方法(如何使页面动态化)。

PHP基本上是正确的。

  

根据我对PHP的理解,它在服务器端运行   生成HTML代码,服务器端PHP脚本结束,然后   生成的HTML代码发送给我们(我们=客户的浏览器)。

但是,您忽略了关于网页如何工作的事情:例如,对于服务器发送任何内容,例如网页,必须有来自客户端的请求。因此,在没有客户请求的情况下询问服务器如何执行此操作会更合适。

回答你的一些问题:

这些页面是由纯PHP实现的吗? - >不,不是。

如果不是,我还需要学习哪些其他编程语言和/或网络技术才能学习它? - >而不是特定的PL或技术,更明智地思考“服务器如何启动与客户端的通信(浏览器/页面)?” (或使其看起来好像)因为这是实现这些页面的“秘密”(或更恰当的关键)。您可以找到许多处理此问题的技术,技术和组合(推送技术,长轮询,ajax等)。

他们是否将其他技术与PHP相结合? - >是的,与网络上的大多数内容一样,动态页面是许多技术和技术的组合。

我相信你在错误的角度看待你想要完成的事情。希望这能让你走上正轨!

答案 3 :(得分:0)

即使在使用AJAX完成服务器端处理之后,前端仍继续与后端通信。 AJAX可以而且应该与JAVA / ASP / PHP / PYTHON等任何后端技术结合使用,以创建动态网站。

答案 4 :(得分:0)

简短的回答是:你做不到。

您在某些网站中看到的持续交互是通过使用名为Ajax的Javascript技术实现的,该技术定期(或基于浏览器事件,如鼠标单击)在后台调用PHP脚本并根据该响应执行某些操作

相关问题