【问题标题】:How do I keep a PHP code alive?如何让 PHP 代码保持活力?
【发布时间】:2012-08-04 23:20:56
【问题描述】:

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

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

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

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

请指导我。

【问题讨论】:

    标签: php server-side keep-alive


    【解决方案1】:

    这不是 PHP 主动运行,这是AJAX

    【讨论】:

      【解决方案2】:

      您正在询问达到目的的方法(如何使页面动态化),而您需要了解的似乎是目的(动态页面)。

      您对 PHP 的工作原理基本正确。

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

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

      回答您的一些问题:

      这类页面是纯PHP实现的吗? --> 不是。

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

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

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

      【讨论】:

      • 感谢您的长篇解释。我得到了基本的想法。我会做进一步的研究。我应该如何编辑我的问题标题,以便其他像我一样困惑的人也能轻松找到它?
      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

          简短的回答是:你不能。

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-12-09
            • 1970-01-01
            • 2023-03-20
            • 1970-01-01
            • 2023-01-27
            • 1970-01-01
            • 2019-09-28
            相关资源
            最近更新 更多