gpt4 book ai didi

php - Node.js 作为程序运行 vs php

转载 作者:太空宇宙 更新时间:2023-11-04 01:04:10 26 4
gpt4 key购买 nike

我一直在研究 Node.js 应用程序与 php,我发现了许多比较这两种服务器技术的比较。大多数人认为javascript V8引擎在单文件计算的运行速度方面比php快得多。

我为 Node.js 编写了一些 javascript 代码,现在我有这个想法,我不知道它是否正确。

在我看来,Node.js 运行一个 JavaScript 应用程序并监听端口。所以这个 javascript 应用程序是一个在服务器计算机上运行的应用程序。因此,应用程序代码全部复制到计算机的内存中。当node.js执行该程序时,诸如全局变量之类的东西会在开始时声明并保存。因此任何新的请求进来,服务器都可以非常有效地使用这些变量。

然而,在php中,php程序根据请求执行*.php文件。因此,如果某个请求是针对www.xx.com/index.php,那么程序就会执行index.php,其中可能会有

之类的东西
require("globalVariables.php");

然后,php.exe 会去那里再次声明这些变量。函数和其他对象的想法相同......

那么,当需要包含许多其他库时,我认为 php 可能不是一个好主意,这样的想法是否正确?

我搜索过比较,但没有人讨论过这个。

谢谢

最佳答案

您正在比较不同的事物。 PHP 依赖于 Apache 或 nginx(例如)来提供脚本,而 Node.js 本身就是一个完整的服务器。

这是一个很大的区别,因为当您加载 php 页面时,Apache 将生成一个线程并在那里运行脚本。在 Node 中,所有请求均由 Node.js 独特的线程提供服务。

所以,php 和 Node.js 是不同的东西,但考虑到您的担忧:是的,您可以在 Node 中维护一个全局上下文,该上下文将始终加载到内存中。另一方面,PHP 始终加载、运行和退出。但这不是典型的用例,Node.js Web 应用程序有必须加载和解析的模板、数据库调用、文件......真正的区别在于 Node.js 处理繁重任务的方式:单线程 用于 JavaScript,一个事件队列,以及用于文件系统、网络和所有缓慢内容的外部线程。传统服务器为每个连接生成线程,这是一种非常不同的方法。

关于php - Node.js 作为程序运行 vs php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24621187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com