Пытаюсь cgi-приложение перенести на fastcgi
Код для CGI:
#include <fstream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
int main(){
printf("Content-type: image/gif\r\n");
printf("\r\n");
ifstream in("../image.gif");
if (!in) return 1;
char buf;
buf = in.get();
while (in){
printf("%c",buf);
buf = in.get();
}
in.close();
return 0;
}
Код для FastCGI:
#include <fstream>
#include <stdlib.h>
#include "fcgi_stdio.h"
using namespace std;
int main(){
while(FCGI_Accept() >= 0) {
printf("Content-type: image/gif\r\n");
printf("\r\n");
ifstream in("../image.gif");
if (!in) return 1;
char buf;
buf = in.get();
while (in){
printf("%c",buf);
buf = in.get();
}
in.close();
}
return 0;
}
CGI пример естественно работает и выводит image.gif полностью. Пример для fastcgi выводит заголовок и кусок изображения, причем для разных gif-изображений разный, как это исправить ?
Веб сервер: Apache2
Fastcgi версии 2.4.0