Browse Source

remove swap file

stanley-king 9 years ago
parent
commit
76b824c0dc
4 changed files with 24 additions and 140 deletions
  1. 9 11
      Makefile
  2. 13 26
      fcgi.c
  3. 2 0
      php_fcgi.h
  4. 0 103
      swap.c

+ 9 - 11
Makefile

@@ -1,7 +1,7 @@
-srcdir = /Users/stanley-king/work/lrlz/phpext/fcgi
-builddir = /Users/stanley-king/work/lrlz/phpext/fcgi
-top_srcdir = /Users/stanley-king/work/lrlz/phpext/fcgi
-top_builddir = /Users/stanley-king/work/lrlz/phpext/fcgi
+srcdir = /Users/stanley-king/work/PHPProject/fcgi
+builddir = /Users/stanley-king/work/PHPProject/fcgi
+top_srcdir = /Users/stanley-king/work/PHPProject/fcgi
+top_builddir = /Users/stanley-king/work/PHPProject/fcgi
 EGREP = /usr/bin/grep -E
 SED = /opt/local/bin/gsed
 CONFIGURE_COMMAND = './configure'
@@ -11,7 +11,7 @@ SHLIB_DL_SUFFIX_NAME = so
 ZEND_EXT_TYPE = zend_extension
 RE2C = exit 0;
 AWK = awk
-shared_objects_fcgi = fcgi.lo swap.lo
+shared_objects_fcgi = fcgi.lo
 PHP_PECL_EXTENSION = fcgi
 PHP_MODULES = $(phplibdir)/fcgi.la
 PHP_ZEND_EX =
@@ -21,7 +21,7 @@ prefix = /usr/local/Cellar/php56/5.6.14
 exec_prefix = $(prefix)
 libdir = ${exec_prefix}/lib
 prefix = /usr/local/Cellar/php56/5.6.14
-phplibdir = /Users/stanley-king/work/lrlz/phpext/fcgi/modules
+phplibdir = /Users/stanley-king/work/PHPProject/fcgi/modules
 phpincludedir = /usr/local/Cellar/php56/5.6.14/include/php
 CC = cc
 CFLAGS = -g -O2
@@ -37,7 +37,7 @@ EXTRA_LDFLAGS =
 EXTRA_LIBS =
 INCLUDES = -I/usr/local/fcgi/include -I/usr/local/Cellar/php56/5.6.14/include/php -I/usr/local/Cellar/php56/5.6.14/include/php/main -I/usr/local/Cellar/php56/5.6.14/include/php/TSRM -I/usr/local/Cellar/php56/5.6.14/include/php/Zend -I/usr/local/Cellar/php56/5.6.14/include/php/ext -I/usr/local/Cellar/php56/5.6.14/include/php/ext/date/lib
 LFLAGS =
-LDFLAGS =/usr/local/fcgi/lib/libfcgi.a /usr/local/fcgi/lib/libfcgi++.a
+LDFLAGS = /usr/local/fcgi/lib/libfcgi.a /usr/local/fcgi/lib/libfcgi++.a
 SHARED_LIBTOOL =
 LIBTOOL = $(SHELL) $(top_builddir)/libtool
 SHELL = /bin/sh
@@ -176,10 +176,8 @@ distclean: clean
 
 .PHONY: all clean install distclean test
 .NOEXPORT:
-fcgi.lo: /Users/stanley-king/work/lrlz/phpext/fcgi/fcgi.c
-	$(LIBTOOL) --mode=compile $(CC)  -I. -I/Users/stanley-king/work/lrlz/phpext/fcgi $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)  -c /Users/stanley-king/work/lrlz/phpext/fcgi/fcgi.c -o fcgi.lo 
-swap.lo: /Users/stanley-king/work/lrlz/phpext/fcgi/swap.c
-	$(LIBTOOL) --mode=compile $(CC)  -I. -I/Users/stanley-king/work/lrlz/phpext/fcgi $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)  -c /Users/stanley-king/work/lrlz/phpext/fcgi/swap.c -o swap.lo 
+fcgi.lo: /Users/stanley-king/work/PHPProject/fcgi/fcgi.c
+	$(LIBTOOL) --mode=compile $(CC)  -I. -I/Users/stanley-king/work/PHPProject/fcgi $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)  -c /Users/stanley-king/work/PHPProject/fcgi/fcgi.c -o fcgi.lo 
 $(phplibdir)/fcgi.la: ./fcgi.la
 	$(LIBTOOL) --mode=install cp ./fcgi.la $(phplibdir)
 

+ 13 - 26
fcgi.c

@@ -32,11 +32,12 @@ static int le_fcgi;
 
 const zend_function_entry fcgi_functions[] = {
 	PHP_FE(confirm_fcgi_compiled,	NULL)		/* For testing, remove later. */
-	PHP_FE(fcgi_init,	NULL)
-	PHP_FE(fcgi_fini,	NULL)	
+	PHP_FE(fcgi_init, NULL)
+	PHP_FE(fcgi_fini, NULL)	
 	PHP_FE(fcgi_accept,	NULL)
 	PHP_FE(fcgi_finish,	NULL)	
 	PHP_FE(fcgi_getparam, NULL)
+	PHP_FE(fcgi_echo, NULL)
 	PHP_FE_END	/* Must be the last line in fcgi_functions[] */
 };
 
@@ -109,27 +110,12 @@ PHP_FUNCTION(confirm_fcgi_compiled)
 	RETURN_STRINGL(strg, len, 0);
 }
 
-extern void swap_init();
-extern void fcgi_log(const char* szBuf);
-extern void swap_fini();
-extern void start_accept();
-extern void fini_accept(void (* pFun)(char*) );
-
 PHP_FUNCTION(fcgi_init)
 {
-	char *arg = NULL;	 
-	int arg_len;	 
-	 
-	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) {	 
-		return;
-	}
-
-	swap_init(arg);
 }
 
 PHP_FUNCTION(fcgi_fini)
 {
-	swap_fini();
 }
 
 static FCGX_Stream* stInstream;
@@ -139,11 +125,7 @@ static FCGX_ParamArray stParams;
 
 PHP_FUNCTION(fcgi_accept)
 {
-	fcgi_log("\r\n\r\nstart fcgi_accept:\r\n");
-	start_accept();
-
 	int ret = FCGX_Accept(&stInstream,&stOutstream,&stErrstream,&stParams);
-	printf("Content-Type: text/html; charset=UTF-8\r\n\r\n");
 
 	if(stInstream == NULL) {
 		fcgi_log("Error: in stream = null \r\n");
@@ -178,17 +160,22 @@ PHP_FUNCTION(fcgi_getparam)
 	RETURN_STRINGL(result,strlen(result),0);
 }
 
-void print_fun(char* szBuf)
+PHP_FUNCTION(fcgi_echo)
 {
-	if(stOutstream && szBuf) {
-		FCGX_PutS(szBuf,stOutstream);
+	char *arg = NULL;	 
+	int arg_len;	 
+	 
+	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) {	 
+		return;
+	}
+
+	if(arg != NULL) {
+		FCGX_PutS(arg,stOutstream);
 	}
 }
 
 PHP_FUNCTION(fcgi_finish)
 {
-	fini_accept(print_fun);
 	FCGX_Finish();
-	fcgi_log("fcgi_finish\r\n");
 }
 

+ 2 - 0
php_fcgi.h

@@ -45,11 +45,13 @@ PHP_RSHUTDOWN_FUNCTION(fcgi);
 PHP_MINFO_FUNCTION(fcgi);
 
 PHP_FUNCTION(confirm_fcgi_compiled);	/* For testing, remove later. */
+
 PHP_FUNCTION(fcgi_init);
 PHP_FUNCTION(fcgi_fini);
 PHP_FUNCTION(fcgi_accept);
 PHP_FUNCTION(fcgi_finish);
 PHP_FUNCTION(fcgi_getparam);
+PHP_FUNCTION(fcgi_echo);
 
 
 

+ 0 - 103
swap.c

@@ -1,103 +0,0 @@
-
-#include <unistd.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <errno.h>
-
-static char* stPath = NULL;
-static FILE* stLogFile = NULL;
-static FILE* stSwapFile = NULL;
-
-char* get_path()
-{
-	int pid = getpid();
-	static char szFile[128] = {0};
-	sprintf(szFile,"%s/swap/fcig_%d.dat",stPath,pid);
-
-	return szFile;
-}
-
-void fcgi_log(const char* szBuf) 
-{
-	if(stLogFile && szBuf != NULL) {
-		fprintf(stLogFile , szBuf);
-		fflush(stLogFile);
-	}
-}
-
-void swap_init(char* path)
-{
-	stPath = path;
-	char szLogfile[128] = {0};
-	sprintf(szLogfile,"%s/fcgi-log.txt",stPath);
-
-	stLogFile = fopen(szLogfile,"a+");
-	stSwapFile = freopen(get_path(),"w+",stdout);
-
-	if(stLogFile == NULL) return;
-
-	if(stSwapFile != NULL) {
-		int fd = fileno(stSwapFile);
-		char szBuf[128];
-		sprintf(szBuf,"open swapfile fd=%d\n",fd);
-		fcgi_log(szBuf);
-	} else {
-		fcgi_log("create swap file error");
-	}
-}
-
-void swap_fini()
-{
-	if(stLogFile) {
-		fclose(stLogFile);
-		fclose(stSwapFile);
-		stLogFile = NULL;
-		stSwapFile = NULL;
-	}
-}
-
-void start_accept()
-{
-	if (stSwapFile) {
-		fseek(stSwapFile,0,SEEK_SET);
-	}
-}
-
-void fini_accept(void (* pFun)(char*) )
-{
-	if(stSwapFile == NULL) return;
-
-	fflush(stdout);
-	fseek(stSwapFile,0,SEEK_SET);
-	char szBuf[5000] = {0};
-	do {
-		int nRead = fread(szBuf,1,4096,stSwapFile);
-		if(nRead <= 0) {
-			char szLog[128];
-			sprintf(szLog,"read file fd=%d len=%d\n",fileno(stSwapFile),nRead);
-			fcgi_log(szLog);
-			break;
-		} 
-		else 
-		{
-			char szLog[128];
-			sprintf(szLog,"read file fd=%d len=%d\n",fileno(stSwapFile),nRead);
-			fcgi_log(szLog);
-
-			szBuf[nRead] = 0;
-			pFun(szBuf);	
-		}
-	} while(1);
-
-	if(stSwapFile) 
-	{
-		if(ftruncate(fileno(stSwapFile),0) < 0) {
-			char szLog[128] = {0};
-			sprintf(szLog,"ftruncate err:%d",errno);
-			fcgi_log(szLog);
-		}
-	}
-}
-
-
-