如何在PHP中将popen与Node.js/Socket.IO一起使用?

如何在PHP中将popen与Node.js/Socket.IO一起使用?,php,node.js,socket.io,popen,Php,Node.js,Socket.io,Popen,从中,我意识到可以使用popen在后台保持进程作为守护进程运行 但当我试着这样做时: $daemon = popen('node nodeServer.js', 'r'); echo "Server started.\n"; 它会崩溃,并给我带来许多与Node.js相关的错误 为什么会这样?当我在命令提示符下尝试node nodeServer.js时,效果很好 以下是我得到的错误: events.js:72 throw er; // Unhandled 'error' even

从中,我意识到可以使用
popen
在后台保持进程作为守护进程运行

但当我试着这样做时:

$daemon = popen('node nodeServer.js', 'r');
echo "Server started.\n";
它会崩溃,并给我带来许多与Node.js相关的错误

为什么会这样?当我在命令提示符下尝试
node nodeServer.js
时,效果很好

以下是我得到的错误:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: write EPIPE
    at errnoException (net.js:901:11)
    at Object.afterWrite (net.js:718:19)

谢谢。

如果您只是想让节点服务器保持活动状态,您可以使用GNU屏幕保持节点服务器进程运行。()


您将能够关闭SSH终端并从其他计算机/位置打开它,并且能够重新连接到会话;所有这些都不会让您的服务器停止。

如果您告诉我们这些错误是什么,那将很有帮助。节点是否位于PHP打开的shell的路径中?PHP有运行该可执行文件的权限吗?它有权读取该.js文件吗?您基本上没有提供任何有用的详细信息,在您提供这些信息之前,我们只能对您进行模糊的猜测。@MarcB我更新了我的问题,请看一看。