从Node.js生成的PHP服务器无法访问:ECONNREFUSED


PHP server spawned from Node.js is unreachable: ECONNREFUSED

我有一个Node.js程序,生成一个PHP内置服务器。

我使用SuperAgent模块从Node.js程序访问PHP服务器。

每次,我得到ECONNREFUSED错误:PHP服务器不可达。但是:如果我手动启动PHP服务器(使用相同的端口),Node.js程序能够访问它。

为什么从Node.js进程中生成的PHP服务器不可达?我已经尝试了一切,但没有工作:设置options.detachedtrue,设置options.stdioignore,使用setTimeout来确保PHP服务器有足够的时间启动,等等。

我在Windows 10上使用Node.js 6.4.0。使用的代码可以在这里找到:https://github.com/aquafadas-com/gulp-php-minify/blob/master/lib/minifier.js

我的代码中终于出现了一个bug:(

当我手动启动PHP服务器时,我提供了"/web"目录。但是当检查生成的进程时,我看到"/lib/web"目录被服务(这个文件夹不存在)。

将语句path.join(__dirname, 'web')替换为path.join(__dirname, '../web')解决了问题。