php4-beta | 200004
Date: 04/30/00
- Next message: Sascha Schumann: "Re: [PHP4BETA] cvs: /php4/sapi/apache apachephp4.dsp /php4/sapi/apache mod_php4.c mod_php4.h php_apache.c sapi_apache.c"
- Previous message: David Treves: "[PHP4BETA] session_start() stucks the script"
- Next in thread: Sascha Schumann: "Re: [PHP4BETA] cvs: /php4/sapi/apache apachephp4.dsp /php4/sapi/apache mod_php4.c mod_php4.h php_apache.c sapi_apache.c"
- Reply: Sascha Schumann: "Re: [PHP4BETA] cvs: /php4/sapi/apache apachephp4.dsp /php4/sapi/apache mod_php4.c mod_php4.h php_apache.c sapi_apache.c"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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 <email protected>> |
+----------------------------------------------------------------------+
*/
-/* $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 <email protected>> |
+----------------------------------------------------------------------+
*/
-/* $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 <email protected>> |
+----------------------------------------------------------------------+
*/
-/* $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 <email protected>> |
+----------------------------------------------------------------------+
*/
-/* $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)
{
-- PHP 4.0 Beta Mailing List <http://www.php.net/version4/> To unsubscribe, e-mail: php4beta-unsubscribe <email protected> For additional commands, e-mail: php4beta-help <email protected> To contact the list administrators, e-mail: php4beta-admin <email protected>
- Next message: Sascha Schumann: "Re: [PHP4BETA] cvs: /php4/sapi/apache apachephp4.dsp /php4/sapi/apache mod_php4.c mod_php4.h php_apache.c sapi_apache.c"
- Previous message: David Treves: "[PHP4BETA] session_start() stucks the script"
- Next in thread: Sascha Schumann: "Re: [PHP4BETA] cvs: /php4/sapi/apache apachephp4.dsp /php4/sapi/apache mod_php4.c mod_php4.h php_apache.c sapi_apache.c"
- Reply: Sascha Schumann: "Re: [PHP4BETA] cvs: /php4/sapi/apache apachephp4.dsp /php4/sapi/apache mod_php4.c mod_php4.h php_apache.c sapi_apache.c"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

