diff options
-rw-r--r-- | cgi_main.c | 66 | ||||
-rw-r--r-- | ext/standard/basic_functions.c | 2 | ||||
-rw-r--r-- | ext/standard/basic_functions.h | 2 | ||||
-rw-r--r-- | ext/standard/datetime.c | 4 | ||||
-rw-r--r-- | ext/standard/head.c | 3 | ||||
-rw-r--r-- | ext/standard/head.h | 7 | ||||
-rw-r--r-- | ext/standard/info.c | 4 | ||||
-rw-r--r-- | ext/standard/info.h | 2 | ||||
-rw-r--r-- | ext/standard/post.c | 2 | ||||
-rw-r--r-- | ext/standard/post.h | 6 | ||||
-rw-r--r-- | getopt.c | 11 | ||||
-rw-r--r-- | getopt.h | 6 | ||||
-rw-r--r-- | main.h | 15 | ||||
-rw-r--r-- | main/SAPI.c | 12 | ||||
-rw-r--r-- | main/SAPI.h | 18 | ||||
-rw-r--r-- | main/configuration-parser.y | 2 | ||||
-rw-r--r-- | main/fopen_wrappers.c | 2 | ||||
-rw-r--r-- | main/fopen_wrappers.h | 2 | ||||
-rw-r--r-- | main/main.c | 363 | ||||
-rw-r--r-- | main/php.h | 21 | ||||
-rw-r--r-- | main/php_globals.h | 2 | ||||
-rw-r--r-- | mod_php3.c | 89 | ||||
-rw-r--r-- | output.c | 2 | ||||
-rw-r--r-- | output.h | 2 | ||||
-rw-r--r-- | php4.dsp | 602 | ||||
-rw-r--r-- | php4.dsw | 15 | ||||
-rw-r--r-- | php4dll.dsp | 667 | ||||
-rw-r--r-- | php4dllts.dsp (renamed from php4libts.dsp) | 107 | ||||
-rw-r--r-- | php4ts.dsp | 8 | ||||
-rw-r--r-- | php4ts.dsw | 18 | ||||
-rw-r--r-- | request_info.c | 2 | ||||
-rw-r--r-- | request_info.h | 2 |
32 files changed, 896 insertions, 1170 deletions
diff --git a/cgi_main.c b/cgi_main.c index 4d4ab20a47..d53905390c 100644 --- a/cgi_main.c +++ b/cgi_main.c @@ -45,6 +45,7 @@ #include "zend_highlight.h" #include "zend_indent.h" + #if USE_SAPI #include "serverapi/sapi.h" void *gLock; @@ -57,12 +58,14 @@ struct sapi_request_info *sapi_rqst; #include "getopt.h" #endif -extern char *php3_ini_path; +PHPAPI extern char *php3_ini_path; #define PHP_MODE_STANDARD 1 #define PHP_MODE_HIGHLIGHT 2 #define PHP_MODE_INDENT 3 +PHPAPI extern char *optarg; +PHPAPI extern int optind; static int zend_cgibin_ub_write(const char *str, uint str_length) @@ -71,11 +74,40 @@ static int zend_cgibin_ub_write(const char *str, uint str_length) } -sapi_functions_struct sapi_functions = { +static sapi_functions_struct sapi_functions = { zend_cgibin_ub_write }; +static void php_cgi_usage(char *argv0) +{ + char *prog; + + prog = strrchr(argv0, '/'); + if (prog) { + prog++; + } else { + prog = "php"; + } + + php3_printf("Usage: %s [-q] [-h]" + " [-s]" + " [-v] [-i] [-f <file>] | " + "{<file> [args...]}\n" + " -q Quiet-mode. Suppress HTTP Header output.\n" + " -s Display colour syntax highlighted source.\n" + " -f<file> Parse <file>. Implies `-q'\n" + " -v Version number\n" + " -c<path> Look for php3.ini file in this directory\n" +#if SUPPORT_INTERACTIVE + " -a Run interactively\n" +#endif + " -e Generate extended information for debugger/profiler\n" + " -i PHP information\n" + " -h This help\n", prog); +} + + int main(int argc, char *argv[]) { int cgi = 0, c, i, len; @@ -144,7 +176,7 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine #endif /* FORCE_CGI_REDIRECT */ } - if (php3_module_startup()==FAILURE) { + if (php_module_startup(&sapi_functions)==FAILURE) { return FAILURE; } #ifdef ZTS @@ -161,8 +193,8 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine switch (c) { case 'f': if (!_cgi_started){ - if (php3_request_startup(CLS_C ELS_CC PLS_CC)==FAILURE) { - php3_module_shutdown(); + if (php_request_startup(CLS_C ELS_CC PLS_CC)==FAILURE) { + php_module_shutdown(); return FAILURE; } } @@ -174,8 +206,8 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine break; case 'v': if (!_cgi_started) { - if (php3_request_startup(CLS_C ELS_CC PLS_CC)==FAILURE) { - php3_module_shutdown(); + if (php_request_startup(CLS_C ELS_CC PLS_CC)==FAILURE) { + php_module_shutdown(); return FAILURE; } } @@ -184,8 +216,8 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine break; case 'i': if (!_cgi_started) { - if (php3_request_startup(CLS_C ELS_CC PLS_CC)==FAILURE) { - php3_module_shutdown(); + if (php_request_startup(CLS_C ELS_CC PLS_CC)==FAILURE) { + php_module_shutdown(); return FAILURE; } } @@ -218,7 +250,7 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine case '?': php3_noheader(); zend_output_startup(); - _php3_usage(argv[0]); + php_cgi_usage(argv[0]); exit(1); break; default: @@ -232,8 +264,8 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine #endif if (!_cgi_started) { - if (php3_request_startup(CLS_C ELS_CC PLS_CC)==FAILURE) { - php3_module_shutdown(); + if (php_request_startup(CLS_C ELS_CC PLS_CC)==FAILURE) { + php_module_shutdown(); return FAILURE; } } @@ -286,8 +318,8 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine } } #endif - php3_request_shutdown((void *) 0); - php3_module_shutdown(); + php_request_shutdown((void *) 0); + php_module_shutdown(); return FAILURE; } else if (file_handle.handle.fp && file_handle.handle.fp!=stdin) { /* #!php support */ @@ -304,7 +336,7 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine switch (behavior) { case PHP_MODE_STANDARD: - php3_parse(&file_handle CLS_CC ELS_CC PLS_CC); + php_execute_script(&file_handle CLS_CC ELS_CC PLS_CC); break; case PHP_MODE_HIGHLIGHT: { zend_syntax_highlighter_ini syntax_highlighter_ini; @@ -326,7 +358,7 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine } php3_header(); /* Make sure headers have been sent */ - php3_request_shutdown((void *) 0); - php3_module_shutdown(); + php_request_shutdown((void *) 0); + php_module_shutdown(); return SUCCESS; } diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index d2ce463783..d12fcddcea 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -1752,7 +1752,7 @@ PHP_FUNCTION(register_shutdown_function) /* }}} */ -void php_get_highlight_struct(zend_syntax_highlighter_ini *syntax_highlighter_ini) +ZEND_API void php_get_highlight_struct(zend_syntax_highlighter_ini *syntax_highlighter_ini) { syntax_highlighter_ini->highlight_comment = INI_STR("highlight_comment"); syntax_highlighter_ini->highlight_default = INI_STR("highlight_default"); diff --git a/ext/standard/basic_functions.h b/ext/standard/basic_functions.h index 4a1e0bcec9..1620c65a79 100644 --- a/ext/standard/basic_functions.h +++ b/ext/standard/basic_functions.h @@ -102,7 +102,7 @@ extern void php3_call_user_method(INTERNAL_FUNCTION_PARAMETERS); PHP_FUNCTION(register_shutdown_function); PHP_FUNCTION(highlight_file); PHP_FUNCTION(highlight_string); -void php_get_highlight_struct(zend_syntax_highlighter_ini *syntax_highlighter_ini); +ZEND_API void php_get_highlight_struct(zend_syntax_highlighter_ini *syntax_highlighter_ini); PHP_FUNCTION(ob_start); PHP_FUNCTION(ob_end_flush); diff --git a/ext/standard/datetime.c b/ext/standard/datetime.c index 6cf2c37cb5..a58a58c626 100644 --- a/ext/standard/datetime.c +++ b/ext/standard/datetime.c @@ -61,11 +61,9 @@ char *day_short_names[] = "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; -#ifndef HAVE_TM_ZONE -#ifndef _TIMEZONE +#if !defined(HAVE_TM_ZONE) && !defined(_TIMEZONE) && !(WIN32||WINNT) extern time_t timezone; #endif -#endif static int phpday_tab[2][12] = { diff --git a/ext/standard/head.c b/ext/standard/head.c index ab8eb483d6..365728abd6 100644 --- a/ext/standard/head.c +++ b/ext/standard/head.c @@ -67,7 +67,8 @@ int php3_init_head(INIT_FUNC_ARGS) return SUCCESS; } -void php3_noheader(void) + +PHPAPI void php3_noheader(void) { php3_PrintHeader = 0; header_called = 1; diff --git a/ext/standard/head.h b/ext/standard/head.h index f71f7c9027..f7b33d73fd 100644 --- a/ext/standard/head.h +++ b/ext/standard/head.h @@ -58,9 +58,8 @@ extern void php3_SetCookie(INTERNAL_FUNCTION_PARAMETERS); void php4i_add_header_information(char *header_information); -extern void php3_noheader(void); -extern PHPAPI int php3_header(void); -extern void php3_noheader(void); -extern int php3_headers_unsent(void); +PHPAPI void php3_noheader(void); +PHPAPI int php3_header(void); +int php3_headers_unsent(void); #endif diff --git a/ext/standard/info.c b/ext/standard/info.c index ea90416530..d0add9d66b 100644 --- a/ext/standard/info.c +++ b/ext/standard/info.c @@ -53,8 +53,6 @@ #define PHP3_CONF_LONG(directive,value1,value2) \ php3_printf("<tr><td bgcolor=\"" ENTRY_NAME_COLOR "\">%s</td><td bgcolor=\"" CONTENTS_COLOR "\">%ld</td><td bgcolor=\"" CONTENTS_COLOR "\">%ld</td></tr>\n",directive,value1,value2); -extern char **environ; - #define SECTION(name) PUTS("<hr><h2>" name "</h2>\n") #define ENTRY_NAME_COLOR "#999999" @@ -76,7 +74,7 @@ static int _display_module_info(php3_module_entry *module) } -void _php3_info(void) +PHPAPI void _php3_info(void) { char **env,*tmp1,*tmp2; char *php3_uname; diff --git a/ext/standard/info.h b/ext/standard/info.h index 41e5483145..49adc456f6 100644 --- a/ext/standard/info.h +++ b/ext/standard/info.h @@ -35,6 +35,6 @@ extern void php3_version(INTERNAL_FUNCTION_PARAMETERS); extern void php3_info(INTERNAL_FUNCTION_PARAMETERS); -extern void _php3_info(void); +PHPAPI void _php3_info(void); #endif /* _INFO_H */ diff --git a/ext/standard/post.c b/ext/standard/post.c index 21e09d521a..7429cfeb7b 100644 --- a/ext/standard/post.c +++ b/ext/standard/post.c @@ -393,7 +393,7 @@ void php3_treat_data(int arg, char *str) } -void php3_TreatHeaders(void) +PHPAPI void php3_TreatHeaders(void) { #if APACHE #if MODULE_MAGIC_NUMBER > 19961007 diff --git a/ext/standard/post.h b/ext/standard/post.h index 37920a8978..7ba44c55eb 100644 --- a/ext/standard/post.h +++ b/ext/standard/post.h @@ -36,8 +36,8 @@ #define PARSE_COOKIE 2 #define PARSE_STRING 3 -extern void php3_treat_data(int arg, char *str); -extern void php3_TreatHeaders(void); -extern void _php3_parse_gpc_data(char *, char *, pval *track_vars_array); +void php3_treat_data(int arg, char *str); +void _php3_parse_gpc_data(char *, char *, pval *track_vars_array); +PHPAPI void php3_TreatHeaders(void); #endif @@ -12,10 +12,10 @@ #define OPTERRARG (3) -char *optarg; -int optind = 1; -int opterr = 1; -int optopt; +PHPAPI char *optarg; +PHPAPI int optind = 1; +static int opterr = 1; +static int optopt; static int optiserr(int argc, char * const *argv, int oint, const char *optstr, @@ -44,8 +44,7 @@ optiserr(int argc, char * const *argv, int oint, const char *optstr, return('?'); } -int -getopt(int argc, char* const *argv, const char *optstr) +PHPAPI int getopt(int argc, char* const *argv, const char *optstr) { static int optchr = 0; static int dash = 0; /* have already seen the - */ @@ -1,9 +1,9 @@ /* Borrowed from Apache NT Port */ #include "php.h" -extern char *optarg; -extern int optind; +PHPAPI extern char *optarg; +PHPAPI extern int optind; extern int opterr; extern int optopt; -extern int getopt(int argc, char* const *argv, const char *optstr); +PHPAPI int getopt(int argc, char* const *argv, const char *optstr); @@ -37,13 +37,16 @@ #include "zend_globals.h" #include "php_globals.h" +#include "SAPI.h" -int php3_request_startup(CLS_D ELS_DC PLS_DC); -extern void php3_request_shutdown(void *dummy); -extern void php3_request_shutdown_for_exec(void *dummy); -extern int php3_module_startup(); -extern void php3_module_shutdown(); -extern void php3_module_shutdown_for_exec(void); +PHPAPI int php_request_startup(CLS_D ELS_DC PLS_DC); +PHPAPI void php_request_shutdown(void *dummy); +PHPAPI void php_request_shutdown_for_exec(void *dummy); +PHPAPI int php_module_startup(sapi_functions_struct *sf); +PHPAPI void php_module_shutdown(); +PHPAPI void php_module_shutdown_for_exec(void); + +PHPAPI void php_execute_script(zend_file_handle *primary_file CLS_DC ELS_DC PLS_DC); extern void php3_call_shutdown_functions(void); diff --git a/main/SAPI.c b/main/SAPI.c index d04c051727..2456662401 100644 --- a/main/SAPI.c +++ b/main/SAPI.c @@ -1,16 +1,20 @@ #include "SAPI.h" +#ifdef ZTS #include "TSRM.h" +#endif #ifdef ZTS -int sapi_globals_id; +SAPI_API int sapi_globals_id; #endif +/* A true global (no need for thread safety) */ +sapi_functions_struct sapi_functions; -void sapi_startup() +void sapi_startup(sapi_functions_struct *sf) { + sapi_functions = *sf; #ifdef ZTS sapi_globals_id = ts_allocate_id(sizeof(sapi_globals_struct), NULL, NULL); #endif -} - +}
\ No newline at end of file diff --git a/main/SAPI.h b/main/SAPI.h index de6af839d1..bd62eaed76 100644 --- a/main/SAPI.h +++ b/main/SAPI.h @@ -1,6 +1,18 @@ #ifndef _NEW_SAPI_H #define _NEW_SAPI_H + +#if WIN32||WINNT +# ifdef SAPI_EXPORTS +# define SAPI_API __declspec(dllexport) +# else +# define SAPI_API __declspec(dllimport) +# endif +#else +#define SAPI_API +#endif + + typedef struct { int (*ub_write)(const char *str, unsigned int str_length); } sapi_functions_struct; @@ -13,7 +25,7 @@ typedef struct { } sapi_globals_struct; -void sapi_startup(); +void sapi_startup(sapi_functions_struct *sf); #ifdef ZTS # define SLS_D sapi_globals_struct *sapi_globals @@ -22,7 +34,7 @@ void sapi_startup(); # define SLS_CC , SLS_C # define SG(v) (sapi_globals->v) # define SLS_FETCH() sapi_globals_struct *sapi_globals = ts_resource(sapi_globals_id) -extern int sapi_globals_id; +SAPI_API extern int sapi_globals_id; #else # define SLS_D # define SLS_DC @@ -30,7 +42,7 @@ extern int sapi_globals_id; # define SLS_CC # define SG(v) (sapi_globals.v) # define SLS_FETCH() -extern ZEND_API sapi_globals_struct sapi_globals; +extern SAPI_API sapi_globals_struct sapi_globals; #endif diff --git a/main/configuration-parser.y b/main/configuration-parser.y index 19bbb0d62d..79153c10ee 100644 --- a/main/configuration-parser.y +++ b/main/configuration-parser.y @@ -60,7 +60,7 @@ static HashTable configuration_hash; #ifndef THREAD_SAFE extern HashTable browser_hash; -extern char *php3_ini_path; +PHPAPI extern char *php3_ini_path; #endif static HashTable *active__php3_hash_table; static pval *current_section; diff --git a/main/fopen_wrappers.c b/main/fopen_wrappers.c index 6128750bf4..8b2814bf88 100644 --- a/main/fopen_wrappers.c +++ b/main/fopen_wrappers.c @@ -198,7 +198,7 @@ PHPAPI FILE *php3_fopen_wrapper(char *path, char *mode, int options, int *issock #if CGI_BINARY || FHTTPD || USE_SAPI -FILE *php3_fopen_for_parser(void) +PHPAPI FILE *php3_fopen_for_parser(void) { FILE *fp; struct stat st; diff --git a/main/fopen_wrappers.h b/main/fopen_wrappers.h index 0b3834a1e3..c1e1420b3c 100644 --- a/main/fopen_wrappers.h +++ b/main/fopen_wrappers.h @@ -69,7 +69,7 @@ extern int wsa_fp; /* a list for open sockets */ extern PHPAPI FILE *php3_fopen_wrapper(char *filename, char *mode, int options, int *issock, int *socketd); -extern FILE *php3_fopen_for_parser(void); +PHPAPI FILE *php3_fopen_for_parser(void); extern PHPAPI int _php3_check_open_basedir(char *path); diff --git a/main/main.c b/main/main.c index 236209a41c..0df2c4049e 100644 --- a/main/main.c +++ b/main/main.c @@ -93,7 +93,7 @@ struct sapi_request_info *sapi_rqst; #ifndef ZTS php_core_globals core_globals; #else -int core_globals_id; +PHPAPI int core_globals_id; #endif void _php3_build_argv(char * ELS_DC); @@ -109,7 +109,7 @@ void *gLock; /*mutex variable */ /* True globals (no need for thread safety) */ HashTable configuration_hash; -char *php3_ini_path = NULL; +PHPAPI char *php3_ini_path = NULL; #ifdef ZTS php_core_globals *main_core_globals=NULL; #endif @@ -606,36 +606,7 @@ static void php_message_handler_for_zend(long message, void *data) -#ifndef NEW_SAPI -# if APACHE -static int zend_apache_ub_write(const char *str, uint str_length) -{ - if (php3_rqst) { - return rwrite(str, str_length, php3_rqst); - } else { - return fwrite(str, 1, str_length, stdout); - } -} - -sapi_functions_struct sapi_functions = { - zend_apache_ub_write -}; - -# elif CGI_BINARY - -static int zend_cgibin_ub_write(const char *str, uint str_length) -{ - return fwrite(str, 1, str_length, stdout); -} - -sapi_functions_struct sapi_functions = { - zend_cgibin_ub_write -}; -# endif -#endif - - -int php3_request_startup(CLS_D ELS_DC PLS_DC) +int php_request_startup(CLS_D ELS_DC PLS_DC) { zend_output_startup(); @@ -651,7 +622,7 @@ int php3_request_startup(CLS_D ELS_DC PLS_DC) * memory. */ block_alarms(); - register_cleanup(php3_rqst->pool, NULL, php3_request_shutdown, php3_request_shutdown_for_exec); + register_cleanup(php3_rqst->pool, NULL, php_request_shutdown, php_request_shutdown_for_exec); unblock_alarms(); #endif @@ -675,7 +646,7 @@ int php3_request_startup(CLS_D ELS_DC PLS_DC) } -void php3_request_shutdown_for_exec(void *dummy) +void php_request_shutdown_for_exec(void *dummy) { /* used to close fd's in the 3..255 range here, but it's problematic */ @@ -689,7 +660,7 @@ int return_one(void *p) } -void php3_request_shutdown(void *dummy) +void php_request_shutdown(void *dummy) { #if FHTTPD char tmpline[128]; @@ -791,7 +762,7 @@ static core_globals_ctor(php_core_globals *core_globals) #endif -int php3_module_startup() +int php_module_startup(sapi_functions_struct *sf) { zend_utility_functions zuf; zend_utility_values zuv; @@ -829,9 +800,7 @@ int php3_module_startup() main_core_globals = core_globals; #endif -#ifdef NEW_SAPI - sapi_startup(); -#endif + sapi_startup(sf); #if HAVE_SETLOCALE setlocale(LC_CTYPE, ""); @@ -870,12 +839,12 @@ int php3_module_startup() -void php3_module_shutdown_for_exec(void) +void php_module_shutdown_for_exec(void) { /* used to close fd's in the range 3.255 here, but it's problematic */ } -void php3_module_shutdown() +void php_module_shutdown() { int module_number=0; /* for UNREGISTER_INI_ENTRIES() */ CLS_FETCH(); @@ -1144,7 +1113,7 @@ void _php3_build_argv(char *s ELS_DC) #include "logos.h" -void php3_parse(zend_file_handle *primary_file CLS_DC ELS_DC PLS_DC) +PHPAPI void php_execute_script(zend_file_handle *primary_file CLS_DC ELS_DC PLS_DC) { zend_file_handle *prepend_file_p, *append_file_p; zend_file_handle prepend_file, append_file; @@ -1199,304 +1168,7 @@ void php3_parse(zend_file_handle *primary_file CLS_DC ELS_DC PLS_DC) -#if CGI_BINARY - -void _php3_usage(char *argv0) -{ - char *prog; - - prog = strrchr(argv0, '/'); - if (prog) { - prog++; - } else { - prog = "php"; - } - - php3_printf("Usage: %s [-q] [-h]" - " [-s]" - " [-v] [-i] [-f <file>] | " - "{<file> [args...]}\n" - " -q Quiet-mode. Suppress HTTP Header output.\n" - " -s Display colour syntax highlighted source.\n" - " -f<file> Parse <file>. Implies `-q'\n" - " -v Version number\n" - " -c<path> Look for php3.ini file in this directory\n" -#if SUPPORT_INTERACTIVE - " -a Run interactively\n" -#endif - " -e Generate extended information for debugger/profiler\n" - " -i PHP information\n" - " -h This help\n", prog); -} - /* some systems are missing these from their header files */ -extern char *optarg; -extern int optind; - -#if THREAD_SAFE -extern flex_globals *yy_init_tls(void); -extern void yy_destroy_tls(void); -#endif - -#ifndef ZTS -int main(int argc, char *argv[]) -{ - int cgi = 0, c, i, len; - zend_file_handle file_handle; - char *s; -/* temporary locals */ - char *_cgi_filename=NULL; - int _cgi_started=0; - int behavior=PHP_MODE_STANDARD; -#if SUPPORT_INTERACTIVE - int interactive=0; -#endif -/* end of temporary locals */ -#ifdef ZTS - zend_compiler_globals *compiler_globals; - zend_executor_globals *executor_globals; - php_core_globals *core_globals; -#endif - - -#ifndef ZTS - if (setjmp(EG(bailout))!=0) { - return -1; - } -#endif - -#if WIN32|WINNT - _fmode = _O_BINARY; /*sets default for file streams to binary */ - setmode(_fileno(stdin), O_BINARY); /* make the stdio mode be binary */ - setmode(_fileno(stdout), O_BINARY); /* make the stdio mode be binary */ - setmode(_fileno(stderr), O_BINARY); /* make the stdio mode be binary */ -#endif - - - /* Make sure we detect we are a cgi - a bit redundancy here, - but the default case is that we have to check only the first one. */ - if (getenv("SERVER_SOFTWARE") - || getenv("SERVER_NAME") - || getenv("GATEWAY_INTERFACE") - || getenv("REQUEST_METHOD")) { - cgi = 1; - if (argc > 1) - request_info.php_argv0 = strdup(argv[1]); - else request_info.php_argv0 = NULL; -#if FORCE_CGI_REDIRECT - if (!getenv("REDIRECT_STATUS")) { - PUTS("<b>Security Alert!</b> PHP CGI cannot be accessed directly.\n\ -\n\ -<P>This PHP CGI binary was compiled with force-cgi-redirect enabled. This\n\ -means that a page will only be served up if the REDIRECT_STATUS CGI variable is\n\ -set. This variable is set, for example, by Apache's Action directive redirect.\n\ -<P>You may disable this restriction by recompiling the PHP binary with the\n\ ---disable-force-cgi-redirect switch. If you do this and you have your PHP CGI\n\ -binary accessible somewhere in your web tree, people will be able to circumvent\n\ -.htaccess security by loading files through the PHP parser. A good way around\n\ -this is to define doc_root in your php3.ini file to something other than your\n\ -top-level DOCUMENT_ROOT. This way you can separate the part of your web space\n\n\ -which uses PHP from the normal part using .htaccess security. If you do not have\n\ -any .htaccess restrictions anywhere on your site you can leave doc_root undefined.\n\ -\n"); - - /* remove that detailed explanation some time */ - - return FAILURE; - } -#endif /* FORCE_CGI_REDIRECT */ - } - - if (php3_module_startup()==FAILURE) { - return FAILURE; - } -#ifdef ZTS - compiler_globals = ts_resource(compiler_globals_id); - executor_globals = ts_resource(executor_globals_id); - core_globals = ts_resource(core_globals_id); -#endif - - CG(extended_info) = 0; - - if (!cgi) { /* never execute the arguments if you are a CGI */ - request_info.php_argv0 = NULL; - while ((c = getopt(argc, argv, "c:qvisnaeh?vf:")) != -1) { - switch (c) { - case 'f': - if (!_cgi_started){ - if (php3_request_startup(CLS_C ELS_CC PLS_CC)==FAILURE) { - php3_module_shutdown(); - return FAILURE; - } - } - _cgi_started=1; - _cgi_filename = estrdup(optarg); - /* break missing intentionally */ - case 'q': - php3_noheader(); - break; - case 'v': - if (!_cgi_started) { - if (php3_request_startup(CLS_C ELS_CC PLS_CC)==FAILURE) { - php3_module_shutdown(); - return FAILURE; - } - } - php3_printf("%s\n", PHP_VERSION); - exit(1); - break; - case 'i': - if (!_cgi_started) { - if (php3_request_startup(CLS_C ELS_CC PLS_CC)==FAILURE) { - php3_module_shutdown(); - return FAILURE; - } - } - _cgi_started=1; - php3_TreatHeaders(); - _php3_info(); - exit(1); - break; - case 's': - behavior=PHP_MODE_HIGHLIGHT; - break; - case 'n': - behavior=PHP_MODE_INDENT; - break; - case 'c': - php3_ini_path = strdup(optarg); /* intentional leak */ - break; - case 'a': -#if SUPPORT_INTERACTIVE - printf("Interactive mode enabled\n\n"); - interactive=1; -#else - printf("Interactive mode not supported!\n\n"); -#endif - break; - case 'e': - CG(extended_info) = 1; - break; - case 'h': - case '?': - php3_noheader(); - zend_output_startup(); - _php3_usage(argv[0]); - exit(1); - break; - default: - break; - } - } - } /* not cgi */ - -#if SUPPORT_INTERACTIVE - EG(interactive) = interactive; -#endif - - if (!_cgi_started) { - if (php3_request_startup(CLS_C ELS_CC PLS_CC)==FAILURE) { - php3_module_shutdown(); - return FAILURE; - } - } - file_handle.filename = "-"; - file_handle.type = ZEND_HANDLE_FP; - file_handle.handle.fp = stdin; - if (_cgi_filename) { - request_info.filename = _cgi_filename; - } - - php3_TreatHeaders(); - - if (!cgi) { - if (!request_info.query_string) { - for (i = optind, len = 0; i < argc; i++) - len += strlen(argv[i]) + 1; - - s = malloc(len + 1); /* leak - but only for command line version, so ok */ - *s = '\0'; /* we are pretending it came from the environment */ - for (i = optind, len = 0; i < argc; i++) { - strcat(s, argv[i]); - if (i < (argc - 1)) - strcat(s, "+"); - } - request_info.query_string = s; - } - if (!request_info.filename && argc > optind) - request_info.filename = argv[optind]; - } - /* If for some reason the CGI interface is not setting the - PATH_TRANSLATED correctly, request_info.filename is NULL. - We still call php3_fopen_for_parser, because if you set doc_root - or user_dir configuration directives, PATH_INFO is used to construct - the filename as a side effect of php3_fopen_for_parser. - */ - if (cgi || request_info.filename) { - file_handle.filename = request_info.filename; - file_handle.handle.fp = php3_fopen_for_parser(); - } - - if (cgi && !file_handle.handle.fp) { - PUTS("No input file specified.\n"); -#if 0 /* this is here for debuging under windows */ - if (argc) { - i = 0; - php3_printf("\nargc %d\n",argc); - while (i <= argc) { - php3_printf("%s\n",argv[i]); - i++; - } - } -#endif - php3_request_shutdown((void *) 0); - php3_module_shutdown(); - return FAILURE; - } else if (file_handle.handle.fp && file_handle.handle.fp!=stdin) { - /* #!php support */ - c = fgetc(file_handle.handle.fp); - if (c == '#') { - while (c != 10 && c != 13) { - c = fgetc(file_handle.handle.fp); /* skip to end of line */ - } - CG(zend_lineno)++; - } else { - rewind(file_handle.handle.fp); - } - } - - switch (behavior) { - case PHP_MODE_STANDARD: - php3_parse(&file_handle CLS_CC ELS_CC PLS_CC); - break; - case PHP_MODE_HIGHLIGHT: { - zend_syntax_highlighter_ini syntax_highlighter_ini; - - if (open_file_for_scanning(&file_handle CLS_CC)==SUCCESS) { - php_get_highlight_struct(&syntax_highlighter_ini); - zend_highlight(&syntax_highlighter_ini); - fclose(file_handle.handle.fp); - } - return 0; - } - break; - case PHP_MODE_INDENT: - open_file_for_scanning(&file_handle CLS_CC); - zend_indent(); - fclose(file_handle.handle.fp); - return 0; - break; - } - - php3_header(); /* Make sure headers have been sent */ - php3_request_shutdown((void *) 0); - php3_module_shutdown(); - return SUCCESS; -} -#endif /* CGI_BINARY */ - -#endif /* ZTS */ - #if APACHE PHPAPI int apache_php3_module_main(request_rec * r, int fd, int display_source_mode) @@ -1513,14 +1185,14 @@ PHPAPI int apache_php3_module_main(request_rec * r, int fd, int display_source_m php3_rqst = r; - if (php3_request_startup(CLS_C ELS_CC PLS_CC) == FAILURE) { + if (php_request_startup(CLS_C ELS_CC PLS_CC) == FAILURE) { return FAILURE; } php3_TreatHeaders(); file_handle.type = ZEND_HANDLE_FD; file_handle.handle.fd = fd; file_handle.filename = request_info.filename; - (void) php3_parse(&file_handle CLS_CC ELS_CC); + (void) php_execute_script(&file_handle CLS_CC ELS_CC); php3_header(); /* Make sure headers have been sent */ zend_end_ob_buffering(1); @@ -1528,6 +1200,15 @@ PHPAPI int apache_php3_module_main(request_rec * r, int fd, int display_source_m } #endif /* APACHE */ + +#if WIN32||WINNT +/* just so that this symbol gets exported... */ +PHPAPI void dummy_indent() +{ + zend_indent(); +} +#endif + /* * Local variables: * tab-width: 4 diff --git a/main/php.h b/main/php.h index d66976e58b..ab4a159069 100644 --- a/main/php.h +++ b/main/php.h @@ -69,15 +69,15 @@ extern unsigned char second_arg_allow_ref[]; #if WIN32 #include "config.w32.h" #include "win95nt.h" -# if defined(COMPILE_DL) -# define PHPAPI __declspec(dllimport) -# else -# define PHPAPI __declspec(dllexport) -# endif +# ifdef PHP_EXPORTS +# define PHPAPI __declspec(dllexport) +# else +# define PHPAPI __declspec(dllimport) +# endif #else -# include "config.h" -# define PHPAPI -# define THREAD_LS +#include "config.h" +#define PHPAPI +#define THREAD_LS #endif @@ -314,12 +314,11 @@ extern PHPAPI int php3_fhttpd_write(char *a,int n); /* global variables */ -#ifndef THREAD_SAFE extern pval *data; -#if (!PHP_ISAPI) +#if !(WIN32||WINNT) extern char **environ; #endif -#endif + extern PHPAPI int le_index_ptr; /* list entry type for index pointers */ extern void phperror(char *error); diff --git a/main/php_globals.h b/main/php_globals.h index 969d7cab66..ce5405c930 100644 --- a/main/php_globals.h +++ b/main/php_globals.h @@ -12,7 +12,7 @@ typedef struct _php_core_globals php_core_globals; # define PLS_CC , PLS_C # define PG(v) (core_globals->v) # define PLS_FETCH() php_core_globals *core_globals = ts_resource(core_globals_id) -extern int core_globals_id; +PHPAPI extern int core_globals_id; #else # define PLS_D # define PLS_DC diff --git a/mod_php3.c b/mod_php3.c index 9f8d56dc33..ba0d6b6db5 100644 --- a/mod_php3.c +++ b/mod_php3.c @@ -87,68 +87,10 @@ int saved_umask; php_apache_info_struct php_apache_info; /* active config */ int apache_php3_module_main(request_rec * r, int fd, int display_source_mode); -extern int php3_module_startup(); -extern void php3_module_shutdown(); -extern void php3_module_shutdown_for_exec(); +int php_module_startup(sapi_functions_struct *sf); +void php_module_shutdown(); +void php_module_shutdown_for_exec(); -extern int tls_create(void); -extern int tls_destroy(void); -extern int tls_startup(void); -extern int tls_shutdown(void); - -#if WIN32|WINNT - -/* - we will want to change this to the apache api - process and thread entry and exit functions -*/ -BOOL WINAPI DllMain(HANDLE hModule, - DWORD ul_reason_for_call, - LPVOID lpReserved) -{ - switch( ul_reason_for_call ) { - case DLL_PROCESS_ATTACH: - /* - I should be loading ini vars here - and doing whatever true global inits - need to be done - */ - if (!tls_startup()) - return 0; - if (!tls_create()) - return 0; - - break; - case DLL_THREAD_ATTACH: - if (!tls_create()) - return 0; - /* if (php3_module_startup()==FAILURE) { - return FAILURE; - } -*/ break; - case DLL_THREAD_DETACH: - if (!tls_destroy()) - return 0; -/* if (initialized) { - php3_module_shutdown(); - return SUCCESS; - } else { - return FAILURE; - } -*/ break; - case DLL_PROCESS_DETACH: - /* - close down anything down in process_attach - */ - if (!tls_destroy()) - return 0; - if (!tls_shutdown()) - return 0; - break; - } - return 1; -} -#endif void php3_save_umask() { @@ -156,11 +98,28 @@ void php3_save_umask() umask(saved_umask); } + +static int zend_apache_ub_write(const char *str, uint str_length) +{ + if (php3_rqst) { + return rwrite(str, str_length, php3_rqst); + } else { + return fwrite(str, 1, str_length, stdout); + } +} + + +sapi_functions_struct sapi_functions = { + zend_apache_ub_write +}; + + void php3_restore_umask() { umask(saved_umask); } + int send_php3(request_rec *r, int display_source_mode, char *filename) { int fd, retval; @@ -230,16 +189,19 @@ int send_php3(request_rec *r, int display_source_mode, char *filename) return OK; } + int send_parsed_php3(request_rec * r) { return send_php3(r, 0, NULL); } + int send_parsed_php3_source(request_rec * r) { return send_php3(r, 0, NULL); } + /* * Create the per-directory config structure with defaults */ @@ -299,10 +261,11 @@ int php3_xbithack_handler(request_rec * r) return send_parsed_php3(r); } + void php3_init_handler(server_rec *s, pool *p) { - register_cleanup(p, NULL, php3_module_shutdown, php3_module_shutdown_for_exec); - php3_module_startup(); + register_cleanup(p, NULL, php_module_shutdown, php_module_shutdown_for_exec); + php_module_startup(&sapi_functions); #if MODULE_MAGIC_NUMBER >= 19980527 ap_add_version_component("PHP/" PHP_VERSION); #endif @@ -43,7 +43,7 @@ static int header_request; * Main */ -void zend_output_startup() +PHPAPI void zend_output_startup() { ob_buffer = NULL; zend_body_write = zend_ub_body_write; @@ -3,7 +3,7 @@ #include "php.h" -void zend_output_startup(); +PHPAPI void zend_output_startup(); /* exported output functions */ int (*zend_body_write)(const char *str, uint str_length); /* string output */ @@ -42,7 +42,7 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "include" /I "..\libzend" /I "." /I "regex\\" /I "d:\src\bind\include" /D "NDEBUG" /D "MSVC5" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "COMPILE_LIBZEND" /Fr /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\libzend" /I "." /I "regex\\" /I "..\bindlib" /D "NDEBUG" /D "MSVC5" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /Fr /FD /c # SUBTRACT CPP /YX /Yc /Yu # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" @@ -51,7 +51,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 lib44bsd95.lib resolv.lib winmm.lib wsock32.lib netapi32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /version:3.0 /subsystem:console /machine:I386 /out:"Release\php.exe" /libpath:"lib" /libpath:"\src\lib" /libpath:"d:\src\bind\lib" /libpath:"..\libzend\Release" +# ADD LINK32 php4nts.lib winmm.lib wsock32.lib netapi32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /version:3.0 /subsystem:console /machine:I386 /nodefaultlib:"libc.lib" /out:"Release\php.exe" /libpath:"Release" !ELSEIF "$(CFG)" == "php4 - Win32 Debug" @@ -67,7 +67,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "include" /I "..\libzend" /I "." /I "regex\\" /I "d:\src\bind\include" /D "DEBUG" /D "_DEBUG" /D "MSVC5" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "COMPILE_LIBZEND" /FR /FD /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\libzend" /I "." /I "regex\\" /I "..\bindlib" /D "DEBUG" /D "_DEBUG" /D "MSVC5" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /FR /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /i "c:\include" /d "_DEBUG" @@ -76,7 +76,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 lib44bsd95.lib resolv.lib winmm.lib wsock32.lib netapi32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libzend.lib /nologo /version:3.0 /subsystem:console /debug /machine:I386 /nodefaultlib:"libcmt" /nodefaultlib:"libcd" /out:"Debug\php.exe" /pdbtype:sept /libpath:"lib" /libpath:"\src\lib" /libpath:"d:\src\bind\lib" /libpath:"..\libzend\Debug" +# ADD LINK32 winmm.lib wsock32.lib netapi32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php4nts.lib /nologo /version:3.0 /subsystem:console /debug /machine:I386 /nodefaultlib:"libcd" /nodefaultlib:"libcmt" /out:"Debug\php.exe" /pdbtype:sept /libpath:"Debug" # SUBTRACT LINK32 /pdb:none !ENDIF @@ -85,605 +85,17 @@ LINK32=link.exe # Name "php4 - Win32 Release" # Name "php4 - Win32 Debug" -# Begin Group "Core" - -# PROP Default_Filter "" # Begin Group "Source Files" -# PROP Default_Filter "" -# Begin Source File - -SOURCE=".\configuration-parser.c" -# End Source File -# Begin Source File - -SOURCE=".\configuration-scanner.c" -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\cyr_convert.c -# End Source File -# Begin Source File - -SOURCE=".\fopen-wrappers.c" -# End Source File -# Begin Source File - -SOURCE=.\getopt.c -# End Source File -# Begin Source File - -SOURCE=.\internal_functions.c -# End Source File -# Begin Source File - -SOURCE=.\main.c -# End Source File -# Begin Source File - -SOURCE=.\output.c -# End Source File -# Begin Source File - -SOURCE=.\php3_realpath.c -# End Source File -# Begin Source File - -SOURCE=.\php_ini.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\quot_print.c -# End Source File +# PROP Default_Filter ".c" # Begin Source File -SOURCE=.\request_info.c -# End Source File -# Begin Source File - -SOURCE=.\safe_mode.c +SOURCE=.\cgi_main.c # End Source File # End Group # Begin Group "Header Files" -# PROP Default_Filter "" -# Begin Source File - -SOURCE=.\config.w32.h -# End Source File -# Begin Source File - -SOURCE=".\configuration-parser.h" -# End Source File -# Begin Source File - -SOURCE=".\configuration-parser.tab.h" -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\cyr_convert.h -# End Source File -# Begin Source File - -SOURCE=.\getopt.h -# End Source File -# Begin Source File - -SOURCE=.\internal_functions_registry.h -# End Source File -# Begin Source File - -SOURCE=.\logos.h -# End Source File -# Begin Source File - -SOURCE=.\main.h -# End Source File -# Begin Source File - -SOURCE=.\output.h -# End Source File -# Begin Source File - -SOURCE=.\php.h -# End Source File -# Begin Source File - -SOURCE=.\php3_compat.h -# End Source File -# Begin Source File - -SOURCE=.\php3_realpath.h -# End Source File -# Begin Source File - -SOURCE=.\php_globals.h -# End Source File -# Begin Source File - -SOURCE=.\php_ini.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\quot_print.h -# End Source File -# Begin Source File - -SOURCE=.\request_info.h -# End Source File -# Begin Source File - -SOURCE=.\safe_mode.h -# End Source File -# Begin Source File - -SOURCE=.\win95nt.h -# End Source File -# End Group -# End Group -# Begin Group "Function Modules" - -# PROP Default_Filter "" -# Begin Group "Source Files No. 1" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=.\ext\apache\apache.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\base64.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\basic_functions.c -# End Source File -# Begin Source File - -SOURCE=.\ext\bcmath\bcmath.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\browscap.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\datetime.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\dir.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\dl.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\dns.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\exec.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\file.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\filestat.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\flock_compat.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\formatted_print.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\fsock.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\head.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\html.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\image.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\info.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\iptc.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\link.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\mail.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\math.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\md5.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\microtime.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\mime.c -# End Source File -# Begin Source File - -SOURCE=.\ext\bcmath\number.c -# End Source File -# Begin Source File - -SOURCE=.\ext\odbc\odbc.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\pack.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\pageinfo.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\post.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\rand.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\reg.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\soundex.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\string.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\syslog.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\type.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\uniqid.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\url.c -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\var.c -# End Source File -# End Group -# Begin Group "Header Files No. 1" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=.\ext\standard\base64.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\basic_functions.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\datetime.h -# End Source File -# Begin Source File - -SOURCE=.\functions\dl.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\dns.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\exec.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\file.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\flock_compat.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\fsock.h -# End Source File -# Begin Source File - -SOURCE=.\functions\global.h -# End Source File -# Begin Source File - -SOURCE=.\functions\head.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\html.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\md5.h -# End Source File -# Begin Source File - -SOURCE=.\functions\mime.h -# End Source File -# Begin Source File - -SOURCE=.\functions\number.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\pageinfo.h -# End Source File -# Begin Source File - -SOURCE=.\functions\php3_bcmath.h -# End Source File -# Begin Source File - -SOURCE=.\functions\php3_dir.h -# End Source File -# Begin Source File - -SOURCE=.\functions\php3_filestat.h -# End Source File -# Begin Source File - -SOURCE=.\functions\php3_ldap.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\php3_mail.h -# End Source File -# Begin Source File - -SOURCE=.\ext\odbc\php3_odbc.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\php3_string.h -# End Source File -# Begin Source File - -SOURCE=.\functions\php3_string.h -# End Source File -# Begin Source File - -SOURCE=.\functions\php3_syslog.h -# End Source File -# Begin Source File - -SOURCE=.\functions\phpdir.h -# End Source File -# Begin Source File - -SOURCE=.\functions\phpmath.h -# End Source File -# Begin Source File - -SOURCE=.\functions\post.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\reg.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\type.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\uniqid.h -# End Source File -# Begin Source File - -SOURCE=.\ext\standard\url.h -# End Source File -# End Group -# Begin Group "Regular Expressions" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=.\regex\regcomp.c -# End Source File -# Begin Source File - -SOURCE=.\regex\regerror.c -# End Source File -# Begin Source File - -SOURCE=.\regex\regexec.c -# End Source File -# Begin Source File - -SOURCE=.\regex\regfree.c -# End Source File -# End Group -# End Group -# Begin Group "Win32" - -# PROP Default_Filter "" -# Begin Group "Source Files No. 2" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=.\ext\com\COM.c -# End Source File -# Begin Source File - -SOURCE=.\win32\pwd.c -# End Source File -# Begin Source File - -SOURCE=.\win32\readdir.c -# End Source File -# Begin Source File - -SOURCE=.\win32\registry.c -# End Source File -# Begin Source File - -SOURCE=.\win32\sendmail.c -# End Source File -# Begin Source File - -SOURCE=.\win32\time.c -# End Source File -# Begin Source File - -SOURCE=.\win32\wfile.c -# End Source File -# Begin Source File - -SOURCE=.\dl\snmp\winsnmp.c -# End Source File -# Begin Source File - -SOURCE=.\win32\winutil.c -# End Source File -# Begin Source File - -SOURCE=.\win32\wsyslog.c -# End Source File -# End Group -# Begin Group "Header Files No. 2" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=.\win32\grp.h -# End Source File -# Begin Source File - -SOURCE=.\win32\param.h -# End Source File -# Begin Source File - -SOURCE=.\win32\php_registry.h -# End Source File -# Begin Source File - -SOURCE=.\win32\pwd.h -# End Source File -# Begin Source File - -SOURCE=.\win32\readdir.h -# End Source File -# Begin Source File - -SOURCE=.\win32\sendmail.h -# End Source File -# Begin Source File - -SOURCE=.\win32\syslog.h -# End Source File -# Begin Source File - -SOURCE=.\win32\time.h -# End Source File -# Begin Source File - -SOURCE=.\win32\unistd.h -# End Source File -# Begin Source File - -SOURCE=.\win32\wfile.h -# End Source File -# End Group -# End Group -# Begin Group "Parsers" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=".\configuration-parser.y" - -!IF "$(CFG)" == "php4 - Win32 Release" - -!ELSEIF "$(CFG)" == "php4 - Win32 Debug" - -# Begin Custom Build -InputDir=. -InputPath=".\configuration-parser.y" - -BuildCmds= \ - bison --output=configuration-parser.c -v -d -S "C:\Program Files\Cygnus\share\bison.simple" -p cfg configuration-parser.y - -"$(InputDir)\configuration-parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) - -"$(InputDir)\configuration-parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - $(BuildCmds) -# End Custom Build - -!ENDIF - -# End Source File -# End Group -# Begin Group "Scanners" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=".\configuration-scanner.l" - -!IF "$(CFG)" == "php4 - Win32 Release" - -!ELSEIF "$(CFG)" == "php4 - Win32 Debug" - -# Begin Custom Build -InputPath=".\configuration-scanner.l" - -"configuration-scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - flex -i -Pcfg -oconfiguration-scanner.c configuration-scanner.l - -# End Custom Build - -!ENDIF - -# End Source File +# PROP Default_Filter ".h" # End Group # End Target # End Project @@ -24,6 +24,21 @@ Package=<5> Package=<4> {{{ Begin Project Dependency + Project_Dep_Name php4dll + End Project Dependency +}}} + +############################################################################### + +Project: "php4dll"=.\php4dll.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency Project_Dep_Name libzend End Project Dependency }}} diff --git a/php4dll.dsp b/php4dll.dsp new file mode 100644 index 0000000000..6eb327d354 --- /dev/null +++ b/php4dll.dsp @@ -0,0 +1,667 @@ +# Microsoft Developer Studio Project File - Name="php4dll" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=php4dll - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "php4dll.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "php4dll.mak" CFG="php4dll - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "php4dll - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "php4dll - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "php4dll - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "include" /I "..\libzend" /I "." /I "regex\\" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /D "MSVC5" /D "PHP_EXPORTS" /D "LIBZEND_EXPORTS" /D "TSRM_EXPORTS" /D "SAPI_EXPORTS" /D "WIN32" /D "_MBCS" /FR /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x40d /d "_DEBUG"
+# ADD RSC /l 0x40d /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib wsock32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libzend.lib resolv.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"libcmt" /nodefaultlib:"libc" /nodefaultlib:"libcmtd" /out:"Debug/php4nts.dll" /pdbtype:sept /libpath:"..\TSRM\Debug" /libpath:"..\libzend\Debug" /libpath:"..\bindlib\Debug"
+
+!ELSEIF "$(CFG)" == "php4dll - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "include" /I "..\libzend" /I "." /I "regex\\" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /D "MSVC5" /D "PHP_EXPORTS" /D "LIBZEND_EXPORTS" /D "TSRM_EXPORTS" /D "SAPI_EXPORTS" /D "WIN32" /D "_MBCS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x40d /d "NDEBUG"
+# ADD RSC /l 0x40d /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib wsock32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libzend.lib resolv.lib /nologo /dll /machine:I386 /nodefaultlib:"libc.lib" /out:"Release/php4nts.dll" /libpath:"..\TSRM\Release" /libpath:"..\libzend\Release" /libpath:"..\bindlib\Release"
+
+!ENDIF
+
+# Begin Target
+
+# Name "php4dll - Win32 Debug"
+# Name "php4dll - Win32 Release"
+# Begin Group "Core"
+
+# PROP Default_Filter ""
+# Begin Group "Source Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=".\configuration-parser.c"
+# End Source File
+# Begin Source File
+
+SOURCE=".\configuration-scanner.c"
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\cyr_convert.c
+# End Source File
+# Begin Source File
+
+SOURCE=".\fopen-wrappers.c"
+# End Source File
+# Begin Source File
+
+SOURCE=.\getopt.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\internal_functions.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\main.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\output.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\php3_realpath.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\php_ini.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\quot_print.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\request_info.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\safe_mode.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\SAPI.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\config.w32.h
+# End Source File
+# Begin Source File
+
+SOURCE=".\configuration-parser.h"
+# End Source File
+# Begin Source File
+
+SOURCE=".\configuration-parser.tab.h"
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\cyr_convert.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\getopt.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\internal_functions_registry.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\logos.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\main.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\output.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\php.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\php3_compat.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\php3_realpath.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\php_globals.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\php_ini.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\quot_print.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\request_info.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\safe_mode.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SAPI.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\win95nt.h
+# End Source File
+# End Group
+# End Group
+# Begin Group "Function Modules"
+
+# PROP Default_Filter ""
+# Begin Group "Source Files No. 1"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\ext\apache\apache.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\base64.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\basic_functions.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\bcmath\bcmath.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\browscap.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\datetime.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\dir.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\dl.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\dns.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\exec.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\file.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\filestat.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\flock_compat.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\formatted_print.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\fsock.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\head.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\html.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\image.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\info.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\iptc.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\link.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\mail.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\math.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\md5.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\microtime.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\mime.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\bcmath\number.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\odbc\odbc.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\pack.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\pageinfo.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\post.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\rand.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\reg.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\soundex.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\string.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\syslog.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\type.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\uniqid.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\url.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\var.c
+# End Source File
+# End Group
+# Begin Group "Header Files No. 1"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\ext\standard\base64.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\basic_functions.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\datetime.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\dl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\dns.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\exec.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\file.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\flock_compat.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\fsock.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\functions\global.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\head.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\html.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\md5.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\mime.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\bcmath\number.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\pageinfo.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\bcmath\php3_bcmath.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\functions\php3_dir.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\functions\php3_filestat.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\functions\php3_ldap.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\php3_mail.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\odbc\php3_odbc.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\php3_string.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\functions\php3_string.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\functions\php3_syslog.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\functions\phpdir.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\functions\phpmath.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\post.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\reg.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\type.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\uniqid.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\standard\url.h
+# End Source File
+# End Group
+# Begin Group "Regular Expressions"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\regex\regcomp.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\regex\regerror.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\regex\regexec.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\regex\regfree.c
+# End Source File
+# End Group
+# End Group
+# Begin Group "Win32"
+
+# PROP Default_Filter ""
+# Begin Group "Source Files No. 2"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\ext\com\COM.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\pwd.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\readdir.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\registry.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\sendmail.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\time.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\wfile.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\dl\snmp\winsnmp.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\winutil.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\wsyslog.c
+# End Source File
+# End Group
+# Begin Group "Header Files No. 2"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\win32\grp.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\param.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ext\com\php3_COM.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\php_registry.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\pwd.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\readdir.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\sendmail.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\syslog.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\time.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\unistd.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32\wfile.h
+# End Source File
+# End Group
+# End Group
+# Begin Group "Parsers"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=".\configuration-parser.y"
+# End Source File
+# End Group
+# Begin Group "Scanners"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=".\configuration-scanner.l"
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/php4libts.dsp b/php4dllts.dsp index f77fd2c69f..68b1e0456f 100644 --- a/php4libts.dsp +++ b/php4dllts.dsp @@ -1,24 +1,24 @@ -# Microsoft Developer Studio Project File - Name="php4libts" - Package Owner=<4>
+# Microsoft Developer Studio Project File - Name="php4dllts" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-CFG=php4libts - Win32 Debug_TS
+CFG=php4dllts - Win32 Debug_TS
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
-!MESSAGE NMAKE /f "php4libts.mak".
+!MESSAGE NMAKE /f "php4dllts.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
-!MESSAGE NMAKE /f "php4libts.mak" CFG="php4libts - Win32 Debug_TS"
+!MESSAGE NMAKE /f "php4dllts.mak" CFG="php4dllts - Win32 Debug_TS"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
-!MESSAGE "php4libts - Win32 Debug_TS" (based on "Win32 (x86) Static Library")
-!MESSAGE "php4libts - Win32 Release_TS" (based on "Win32 (x86) Static Library")
+!MESSAGE "php4dllts - Win32 Debug_TS" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "php4dllts - Win32 Release_TS" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
@@ -26,9 +26,10 @@ CFG=php4libts - Win32 Debug_TS # PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
+MTL=midl.exe
RSC=rc.exe
-!IF "$(CFG)" == "php4libts - Win32 Debug_TS"
+!IF "$(CFG)" == "php4dllts - Win32 Debug_TS"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
@@ -39,19 +40,22 @@ RSC=rc.exe # PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug_TS"
# PROP Intermediate_Dir "Debug_TS"
+# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "include" /I "..\libzend" /I "." /I "regex\\" /I "..\tsrm" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "COMPILE_LIBZEND" /D "MSVC5" /D "ZTS" /D "NEW_SAPI" /FR /YX /FD /GZ /c
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "include" /I "..\libzend" /I "." /I "regex\\" /I "..\tsrm" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /D "MSVC5" /D "PHP_EXPORTS" /D "WIN32" /D "_MBCS" /D "LIBZEND_EXPORTS" /D "ZTS" /D "TSRM_EXPORTS" /D "SAPI_EXPORTS" /FR /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x40d /d "_DEBUG"
# ADD RSC /l 0x40d /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib wsock32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libzendts.lib TSRM.lib resolv.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"libcmt" /nodefaultlib:"libc" /out:"Debug_TS/php4ts.dll" /pdbtype:sept /libpath:"..\TSRM\Debug_TS" /libpath:"..\libzend\Debug_TS" /libpath:"..\bindlib\Debug"
-!ELSEIF "$(CFG)" == "php4libts - Win32 Release_TS"
+!ELSEIF "$(CFG)" == "php4dllts - Win32 Release_TS"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
@@ -62,24 +66,27 @@ LIB32=link.exe -lib # PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release_TS"
# PROP Intermediate_Dir "Release_TS"
+# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "include" /I "..\libzend" /I "." /I "regex\\" /I "..\tsrm" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "COMPILE_LIBZEND" /D "MSVC5" /D "ZTS" /D "NEW_SAPI" /YX /FD /c
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "include" /I "..\libzend" /I "." /I "regex\\" /I "..\tsrm" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "PHP4DLLTS_EXPORTS" /D "MSVC5" /D "PHP_EXPORTS" /D "LIBZEND_EXPORTS" /D "ZTS" /D "TSRM_EXPORTS" /D "SAPI_EXPORTS" /D "WIN32" /D "_MBCS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x40d /d "NDEBUG"
# ADD RSC /l 0x40d /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib wsock32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libzendts.lib TSRM.lib resolv.lib /nologo /dll /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libcmt.lib" /out:"Release_TS/php4ts.dll" /libpath:"..\TSRM\Release_TS" /libpath:"..\libzend\Release_TS" /libpath:"..\bindlib\Release"
!ENDIF
# Begin Target
-# Name "php4libts - Win32 Debug_TS"
-# Name "php4libts - Win32 Release_TS"
+# Name "php4dllts - Win32 Debug_TS"
+# Name "php4dllts - Win32 Release_TS"
# Begin Group "Core"
# PROP Default_Filter ""
@@ -646,41 +653,6 @@ SOURCE=.\win32\wfile.h # Begin Source File
SOURCE=".\configuration-parser.y"
-
-!IF "$(CFG)" == "php4libts - Win32 Debug_TS"
-
-# Begin Custom Build
-InputDir=.
-InputPath=.\configuration-parser.y
-
-BuildCmds= \
- bison --output=configuration-parser.c -v -d -S "C:\Program Files\Cygnus\share\bison.simple" -p cfg configuration-parser.y
-
-"$(InputDir)\configuration-parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputDir)\configuration-parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "php4libts - Win32 Release_TS"
-
-# Begin Custom Build
-InputDir=.
-InputPath=.\configuration-parser.y
-
-BuildCmds= \
- bison --output=configuration-parser.c -v -d -S "C:\Program Files\Cygnus\share\bison.simple" -p cfg configuration-parser.y
-
-"$(InputDir)\configuration-parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputDir)\configuration-parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
# End Source File
# End Group
# Begin Group "Scanners"
@@ -689,29 +661,6 @@ BuildCmds= \ # Begin Source File
SOURCE=".\configuration-scanner.l"
-
-!IF "$(CFG)" == "php4libts - Win32 Debug_TS"
-
-# Begin Custom Build
-InputPath=.\configuration-scanner.l
-
-"configuration-scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- flex -i -Pcfg -oconfiguration-scanner.c configuration-scanner.l
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "php4libts - Win32 Release_TS"
-
-# Begin Custom Build
-InputPath=.\configuration-scanner.l
-
-"configuration-scanner.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- flex -i -Pcfg -oconfiguration-scanner.c configuration-scanner.l
-
-# End Custom Build
-
-!ENDIF
-
# End Source File
# End Group
# End Target
diff --git a/php4ts.dsp b/php4ts.dsp index 2917e91c67..3bb94cdc9c 100644 --- a/php4ts.dsp +++ b/php4ts.dsp @@ -42,7 +42,7 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "include" /I "..\libzend" /I "." /I "regex\\" /I "d:\src\bind\include" /I "..\tsrm" /D "NDEBUG" /D "MSVC5" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "COMPILE_LIBZEND" /D "ZTS" /D "TSRM_EXPORTS" /Fr /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\libzend" /I "." /I "regex\\" /I "..\tsrm" /I "..\bindlib" /D "NDEBUG" /D "MSVC5" /D "_CONSOLE" /D "ZTS" /D "WIN32" /D "_MBCS" /Fr /FD /c
# SUBTRACT CPP /YX /Yc /Yu
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
@@ -51,7 +51,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 lib44bsd95.lib resolv.lib winmm.lib wsock32.lib netapi32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libzendts.lib tsrm.lib /nologo /version:3.0 /subsystem:console /machine:I386 /nodefaultlib:"libc.lib" /out:"Release_TS\php.exe" /libpath:"lib" /libpath:"..\tsrm\release_TS" /libpath:"..\libzend\Release_TS" /libpath:"."
+# ADD LINK32 php4ts.lib winmm.lib wsock32.lib netapi32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /version:3.0 /subsystem:console /machine:I386 /nodefaultlib:"libc.lib" /out:"Release_TS\php.exe" /libpath:"Release_TS"
!ELSEIF "$(CFG)" == "php4ts - Win32 Debug_TS"
@@ -67,7 +67,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "include" /I "..\libzend" /I "." /I "regex\\" /I "d:\src\bind\include" /I "..\tsrm" /D "DEBUG" /D "_DEBUG" /D "MSVC5" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "COMPILE_LIBZEND" /D "ZTS" /D "TSRM_EXPORTS" /FR /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\libzend" /I "." /I "regex\\" /I "..\tsrm" /I "..\bindlib" /D "DEBUG" /D "_DEBUG" /D "MSVC5" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "ZTS" /FR /FD /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /i "c:\include" /d "_DEBUG"
@@ -76,7 +76,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 winmm.lib wsock32.lib netapi32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib TSRM.lib libzendts.lib php4libts.lib lib44bsd95.lib resolv.lib /nologo /version:3.0 /subsystem:console /debug /machine:I386 /nodefaultlib:"libcd" /nodefaultlib:"libcmt" /out:"Debug_TS\php.exe" /pdbtype:sept /libpath:"lib" /libpath:"..\TSRM\debug_ts" /libpath:"..\libzend\Debug_TS" /libpath:"Debug_TS"
+# ADD LINK32 winmm.lib wsock32.lib netapi32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php4ts.lib /nologo /version:3.0 /subsystem:console /debug /machine:I386 /nodefaultlib:"libcd" /nodefaultlib:"libcmt" /out:"Debug_TS\php.exe" /pdbtype:sept /libpath:"Debug_TS"
# SUBTRACT LINK32 /pdb:none
!ENDIF
diff --git a/php4ts.dsw b/php4ts.dsw index ee8e1f2617..5bf76329bf 100644 --- a/php4ts.dsw +++ b/php4ts.dsw @@ -27,7 +27,7 @@ Package=<4> ###############################################################################
-Project: "php4isapi"=.\php4isapi\php4isapi.dsp - Package Owner=<4>
+Project: "php4dllts"=.\php4dllts.dsp - Package Owner=<4>
Package=<5>
{{{
@@ -39,16 +39,13 @@ Package=<4> Project_Dep_Name libzendts
End Project Dependency
Begin Project Dependency
- Project_Dep_Name php4libts
- End Project Dependency
- Begin Project Dependency
Project_Dep_Name TSRM
End Project Dependency
}}}
###############################################################################
-Project: "php4libts"=.\php4libts.dsp - Package Owner=<4>
+Project: "php4isapi"=.\php4isapi\php4isapi.dsp - Package Owner=<4>
Package=<5>
{{{
@@ -56,6 +53,9 @@ Package=<5> Package=<4>
{{{
+ Begin Project Dependency
+ Project_Dep_Name php4dllts
+ End Project Dependency
}}}
###############################################################################
@@ -69,13 +69,7 @@ Package=<5> Package=<4>
{{{
Begin Project Dependency
- Project_Dep_Name libzendts
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name TSRM
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name php4libts
+ Project_Dep_Name php4dllts
End Project Dependency
}}}
diff --git a/request_info.c b/request_info.c index 86fad8c337..b64ed54461 100644 --- a/request_info.c +++ b/request_info.c @@ -30,7 +30,7 @@ #include "php.h" #ifndef THREAD_SAFE -php3_request_info request_info; +PHPAPI php3_request_info request_info; #endif #if CGI_BINARY diff --git a/request_info.h b/request_info.h index 8600e28f68..71c50cc698 100644 --- a/request_info.h +++ b/request_info.h @@ -47,7 +47,7 @@ typedef struct { } php3_request_info; #ifndef THREAD_SAFE -extern php3_request_info request_info; +PHPAPI extern php3_request_info request_info; #endif extern int php3_init_request_info(void *conf); |