module MODULE_VAR_EXPORT php4_module;
int saved_umask;
+static int php_initialized;
#if WIN32|WINNT
CONST_PREFIX char *php_apache_value_handler(cmd_parms *cmd, php_apache_info_struct *conf, char *arg1, char *arg2)
{
+ if (!php_initialized) {
+ sapi_startup(&sapi_module);
+ php_module_startup(&sapi_module);
+ php_initialized = 1;
+ }
+ printf("Altering '%s' -> '%s'\n", arg1, arg2);
php_alter_ini_entry(arg1, strlen(arg1)+1, arg2, strlen(arg2)+1, PHP_INI_PERDIR);
return NULL;
}
{
char bool_val[2];
+ if (!php_initialized) {
+ sapi_startup(&sapi_module);
+ php_module_startup(&sapi_module);
+ php_initialized = 1;
+ }
+
if (!strcmp(arg2, "On")) {
bool_val[0] = '1';
} else {
return send_parsed_php(r);
}
+static void apache_php_module_shutdown_wrapper()
+{
+ php_initialized = 0;
+ sapi_module.shutdown(&sapi_module);
+}
+
void php_init_handler(server_rec *s, pool *p)
{
- register_cleanup(p, NULL, php_module_shutdown, php_module_shutdown_for_exec);
- sapi_startup(&sapi_module);
- php_module_startup(&sapi_module);
+ register_cleanup(p, NULL, apache_php_module_shutdown_wrapper, php_module_shutdown_for_exec);
+ if (!php_initialized) {
+ sapi_startup(&sapi_module);
+ php_module_startup(&sapi_module);
+ php_initialized = 1;
+ }
#if MODULE_MAGIC_NUMBER >= 19980527
ap_add_version_component("PHP/" PHP_VERSION);
#endif
handler_rec php_handlers[] =
{
- {"application/x-httpd-php3", send_parsed_php},
- {"application/x-httpd-php3-source", send_parsed_php_source},
+ {"application/x-httpd-php", send_parsed_php},
+ {"application/x-httpd-php-source", send_parsed_php_source},
{"text/html", php_xbithack_handler},
{NULL}
};