在child.stdin.write上获取ECONNRESET

时间:2014-01-27 18:08:51

标签: wordpress node.js cgi

需要一些帮助让CGI工作。我正在为nodejs编写一个小插件,允许运行没有apache的wordpress站点。

我已经完成了大部分的基础工作,因此运行wordpress网站现在运行良好,但只需要上传文件即可正常工作。我设法使简单的文件上传工作,但是对于更大的文件,我在尝试写入php-cgi进程的stdin时得到ECONNRESET。

代码在这里:git clone https://github.com/mkschreder/node-php.git

要测试代码,请执行以下操作:

var express = require('express');
var php = require("./main"); 
var path = require("path"); 
var request = require("request"); 
var http = require("http"); 

var app = express();
var server = http.createServer(app);
app.use("/", php.cgi("/path/to/wordpress/install")); 

server.listen(9090);

console.log("Server listening on: "+server.address().port); 

现在,如果我使用node运行它并转到localhost:9090的wordpress管理面板,然后尝试上传主题或插件,服务器在文件上传期间在wordpress进程上调用php.stdin.write时会获得econnreset 。但是如果我之后调用php.stdin.end(),它仍然有效,但数据仍然只在wordpress中被部分接收。如果图像足够小,使用图像可以正常工作。

0 个答案:

没有答案