首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js作为程序运行vs php

问Node.js作为程序运行vs php
EN

Stack Overflow用户
提问于 2014-07-07 22:52:13
回答 1查看 293关注 0票数 1

我一直在查看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,其中可能有以下内容

代码语言:javascript
复制
require("globalVariables.php");

然后,php.exe会在那里再次声明这些变量。对于函数和其他物体也有相同的想法..。

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

我一直在寻找比较,但没有人谈论过这个。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-08 08:14:41

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

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24621187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档