Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当php由node js启动时,是否需要像apache或nginx这样的Web服务器?_Php_Node.js - Fatal编程技术网

当php由node js启动时,是否需要像apache或nginx这样的Web服务器?

当php由node js启动时,是否需要像apache或nginx这样的Web服务器?,php,node.js,Php,Node.js,我刚刚收到一个使用node js启动php服务器的项目(我甚至不知道这可以做到,但我觉得这很奇怪,因为两者都是后端): 因此,我的index.js文件是: const phpServer = require('php-server'); (async () => { const server = await phpServer({ port: 3000 }); console.log(`PHP server running at ${server.url}`) })();

我刚刚收到一个使用node js启动php服务器的项目(我甚至不知道这可以做到,但我觉得这很奇怪,因为两者都是后端):

因此,我的
index.js
文件是:

const phpServer = require('php-server');

(async () => {
    const server = await phpServer({ port: 3000 });
    console.log(`PHP server running at ${server.url}`)
})();

如果我转到
http://127.0.0.1:3000/
url,它工作得很好,但是,如何?我的意思是,php确实需要一个web服务器,不是吗?

通常,您可以使用以下命令启动本地内置的php开发web服务器:

php -S 127.0.0.1:PORT_NUMBER
因此,包只是前一个命令的包装器。
如果你想尝试一些好东西,你可以将
0.0.0.0
作为主机名传递,这将使服务器可以从网络上的所有设备访问,然后在终端上运行
ip addr
(假设你在Linux上),如果你在笔记本电脑上,你应该查找无线接口的ip地址,获取该IP地址并使用它从同一网络上的任何设备进行访问。
请注意,此命令仅用于开发和测试目的,请勿用于生产

其他可能有用的链接:

  • PHP内置web服务器页面:

它会启动,因此不需要apache。当您看到像这样的
require
没有前导的
/
时,这意味着它是一个npm包(通常)。谷歌它,你会发现:@lawrencerone好的,所以这个服务器只是为了开发目的,我明白了,我不知道你是否想把你的评论作为答案。PHP、JavaScript或Node都不需要web服务器。当您想要一个服务于HTTP请求的程序时,您需要一个web服务器。但是有很多方法可以实现web服务器。