Hi, i'm planning to create a win32 http server that supports cgi. Does anybody see the problem in C++ -source? Php doesn't give any output, but if I don't set the rfc3875 environment variables, all output comes normally (expect post and other variables aren't set). Only what I'm able to set is $_GET -variables as script arguments. So how can I set post variables and others, like RAW_POST_DATA? The c code above lets php to read the script by itself and post -variables are written to stdin pipe. Output should be able to be readed from stdout (problem is that there are no output, even not the headers). I hope that you understand what I mean... --------------------------------- Test script: (D:\test.php) --------------------------------- <?php echo 'Wd: ',getcwd(),' var=',$_POST['var']; ?> --------------------------------- C++ source: --------------------------------- #include <windows.h> #include <conio.h> #include <stdio.h> int main() { SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES)}; sa.bInheritHandle = 1; sa.lpSecurityDescriptor = NULL; HANDLE hStdoutR, hStdoutW, hStdinR, hStdinW; CreatePipe(&hStdoutR,&hStdoutW,&sa,0); SetHandleInformation(hStdoutR,HANDLE_FLAG_INHERIT,0); CreatePipe(&hStdinR,&hStdinW,&sa,0); SetHandleInformation(hStdinW,HANDLE_FLAG_INHERIT,0); STARTUPINFO si = {sizeof(STARTUPINFO)}; PROCESS_INFORMATION pi; si.dwFlags = STARTF_USESTDHANDLES; si.hStdOutput = hStdoutW; si.hStdInput = hStdinR; char env[255] = "REQUEST_METHOD=POST\0CONTENT_LENGTH=17\0CONTENT_TYPE=application/x-www-form-urlencoded\0SCRIPT_FILENAME=D:\\test.php"; if(!CreateProcess(NULL,"php-5.2.9-1-Win32\\php-cgi.exe D:\\test.php",NULL,NULL,1,NORMAL_PRIORITY_CLASS,env,NULL,&si,&pi)) return 0; CloseHandle(hStdoutW); CloseHandle(hStdinR); DWORD dwWritten = 0; //Write post data here? if(!WriteFile(hStdinW,"var=post+variable",20,&dwWritten,NULL)) return 0; CloseHandle(hStdinW); char buf[1000] = {0}; DWORD dwRead = 0; while(ReadFile(hStdoutR,buf,sizeof(buf),&dwRead,NULL) && dwRead != 0){ printf(buf); } printf("|\n\nEND"); CloseHandle(hStdoutR); getch(); return 0; } ------------------------------ Thanks! Jasper ................................................................... Luukku Plus paketilla pääset eroon tila- ja turvallisuusongelmista. Hanki Luukku Plus ja helpotat elämääsi. http://www.mtv3.fi/luukku
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php