繁体   English   中英

Node.js作为程序与PHP运行

[英]Node.js run as program vs php

我一直在查看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处理繁重任务的方式:一个ja​​vascript 线程事件队列 ,以及文件系统,网络和所有较慢内容的外部线程。 传统服务器为每个连接生成线程,这是一种非常不同的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM