cvs: /php4/sapi/apache apachephp4.dsp /php4/sapi/apache mod_php4.c mod_php4.h php_apache.c sapi_apache.c

From: Date: Sun, 30 Apr 2000 04:15:57 +0000
Subject: cvs: /php4/sapi/apache apachephp4.dsp /php4/sapi/apache mod_php4.c mod_php4.h php_apache.c sapi_apache.c
Groups: php.version4 
Request: Send a blank email to php-version4+get-14189@lists.php.net to get a copy of this message
shane Sat Apr 29 21:15:57 2000 EDT Added files: /php4/sapi/apache apachephp4.dsp Modified files: /php4/sapi/apache mod_php4.c mod_php4.h php_apache.c sapi_apache.c Log: apache module now compiles under win32, apache loads, but crashes on line 1167 main.c on page request Index: php4/sapi/apache/mod_php4.c diff -u php4/sapi/apache/mod_php4.c:1.43 php4/sapi/apache/mod_php4.c:1.44 --- php4/sapi/apache/mod_php4.c:1.43 Sat Apr 15 07:28:47 2000 +++ php4/sapi/apache/mod_php4.c Sat Apr 29 21:15:26 2000 @@ -17,9 +17,13 @@ | PHP 4.0 patches by Zeev Suraski <zeev@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: mod_php4.c,v 1.43 2000/04/15 14:28:47 andi Exp $ */ +/* $Id: mod_php4.c,v 1.44 2000/04/30 04:15:26 shane Exp $ */ #define NO_REGEX_EXTRA_H +#ifdef WIN32 +#include <winsock2.h> +#include <stddef.h> +#endif #include "zend.h" #include "php.h" @@ -235,8 +239,9 @@ array_header *arr = table_elts(((request_rec *) SG(server_context))->subprocess_env); table_entry *elts = (table_entry *) arr->elts; char *script_filename=NULL; - ELS_FETCH(); - PLS_FETCH(); + // Theses are already in parameters? +// ELS_FETCH(); +// PLS_FETCH(); for (i = 0; i < arr->nelts; i++) { char *val; @@ -262,10 +267,28 @@ static int php_apache_startup(sapi_module_struct *sapi_module) { +#ifdef PHP_WIN32 + // this is needed because apache reloads this dll twice due + // to a colision. A better way to do this is to define the load + // address for the dll, but am not sure what it should be. + // this is just a quick hack to get it working. + + static int php_apache_started=0; + static int apache_startup_success = FAILURE; + if (php_apache_started>0) return apache_startup_success; + php_apache_started=1; +#endif + if(php_module_startup(sapi_module) == FAILURE || zend_startup_module(&apache_module_entry) == FAILURE) { +#ifdef PHP_WIN32 + apache_startup_success = FAILURE; +#endif return FAILURE; } else { +#ifdef PHP_WIN32 + apache_startup_success = SUCCESS; +#endif return SUCCESS; } } @@ -343,8 +366,13 @@ sapi_apache_register_server_variables, /* register server variables */ php_apache_log_message, /* Log message */ +#ifdef PHP_WIN32 + NULL, + NULL, +#else block_alarms, /* Block interruptions */ unblock_alarms, /* Unblock interruptions */ +#endif STANDARD_SAPI_MODULE_PROPERTIES }; @@ -562,9 +590,9 @@ php_per_dir_entry per_dir_entry; if (!apache_php_initialized) { + apache_php_initialized = 1; sapi_startup(&sapi_module); php_apache_startup(&sapi_module); - apache_php_initialized = 1; } per_dir_entry.type = mode; @@ -656,9 +684,9 @@ { register_cleanup(p, NULL, (void (*)(void *))apache_php_module_shutdown_wrapper, (void (*)(void *))php_module_shutdown_for_exec); if (!apache_php_initialized) { + apache_php_initialized = 1; sapi_startup(&sapi_module); php_apache_startup(&sapi_module); - apache_php_initialized = 1; } #if MODULE_MAGIC_NUMBER >= 19980527 { @@ -763,6 +791,33 @@ #endif }; + +#ifdef PHP_WIN32 +__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +{ + switch (fdwReason) { + case DLL_PROCESS_ATTACH: + tsrm_startup(1, 1, 0); + sapi_startup(&sapi_module); + if (sapi_module.startup) { + sapi_module.startup(&sapi_module); + } + break; + case DLL_THREAD_ATTACH: + break; + case DLL_THREAD_DETACH: + ts_free_thread(); + break; + case DLL_PROCESS_DETACH: + if (sapi_module.shutdown) { + sapi_module.shutdown(&sapi_module); + } + tsrm_shutdown(); + break; + } + return TRUE; +} +#endif /* * Local variables: * tab-width: 4 Index: php4/sapi/apache/mod_php4.h diff -u php4/sapi/apache/mod_php4.h:1.4 php4/sapi/apache/mod_php4.h:1.5 --- php4/sapi/apache/mod_php4.h:1.4 Sat Feb 19 15:41:24 2000 +++ php4/sapi/apache/mod_php4.h Sat Apr 29 21:15:26 2000 @@ -15,7 +15,7 @@ | Authors: Rasmus Lerdorf <rasmus@php.net> | +----------------------------------------------------------------------+ */ -/* $Id: mod_php4.h,v 1.4 2000/02/19 23:41:24 zeev Exp $ */ +/* $Id: mod_php4.h,v 1.5 2000/04/30 04:15:26 shane Exp $ */ #ifndef _MOD_PHP4_H #define _MOD_PHP4_H @@ -36,7 +36,7 @@ extern zend_module_entry apache_module_entry; extern php_apache_info_struct php_apache_info; -#if MSVC5 +#ifdef WIN32 #define S_IXUSR _S_IEXEC #endif Index: php4/sapi/apache/php_apache.c diff -u php4/sapi/apache/php_apache.c:1.13 php4/sapi/apache/php_apache.c:1.14 --- php4/sapi/apache/php_apache.c:1.13 Fri Apr 7 10:09:18 2000 +++ php4/sapi/apache/php_apache.c Sat Apr 29 21:15:26 2000 @@ -17,10 +17,15 @@ | David Sklar <sklar@student.net> | +----------------------------------------------------------------------+ */ -/* $Id: php_apache.c,v 1.13 2000/04/07 17:09:18 cmv Exp $ */ +/* $Id: php_apache.c,v 1.14 2000/04/30 04:15:26 shane Exp $ */ #define NO_REGEX_EXTRA_H +#ifdef WIN32 +#include <winsock2.h> +#include <stddef.h> +#endif + #include "php.h" #include "ext/standard/head.h" #include "php_globals.h" @@ -39,7 +44,13 @@ #include "php_apache_http.h" #include "http_request.h" + +#ifdef PHP_WIN32 +#include "zend.h" +#include "ap_compat.h" +#else #include "build-defs.h" +#endif #define SECTION(name) PUTS("<H2>" name "</H2>\n") Index: php4/sapi/apache/sapi_apache.c diff -u php4/sapi/apache/sapi_apache.c:1.12 php4/sapi/apache/sapi_apache.c:1.13 --- php4/sapi/apache/sapi_apache.c:1.12 Sat Feb 19 15:41:24 2000 +++ php4/sapi/apache/sapi_apache.c Sat Apr 29 21:15:26 2000 @@ -19,9 +19,14 @@ | Stig Bakken <ssb@fast.no> | +----------------------------------------------------------------------+ */ -/* $Id: sapi_apache.c,v 1.12 2000/02/19 23:41:24 zeev Exp $ */ +/* $Id: sapi_apache.c,v 1.13 2000/04/30 04:15:26 shane Exp $ */ #define NO_REGEX_EXTRA_H +#ifdef WIN32 +#include <winsock2.h> +#define PHP_EXPORTS +#include <stddef.h> +#endif #include "php.h" @@ -53,6 +58,7 @@ #include "util_script.h" #include "php_version.h" /*#include "mod_php4.h"*/ + PHPAPI int apache_php_module_main(request_rec *r, int fd, int display_source_mode SLS_DC) {

« previous php.version4 (#14189) next »