[patch 4.0.2] php_extension

From: Date: Tue, 29 Aug 2000 21:09:45 +0000
Subject: [patch 4.0.2] php_extension
Groups: php.dev 
Request: Send a blank email to php-dev+get-31123@lists.php.net to get a copy of this message
php_value does not work for the `extension' php directive. even if it did, from what i can see php_value's are not applied until request time, extensions should be loaded at startup time. i want to use httpd.conf for extension config and leave php.ini/PHPRC alone, is there another way to do that? if not, this patch adds a php_extension directive to solve the problem. --- mod_php4.c~ Sun Aug 20 07:29:00 2000 +++ mod_php4.c Tue Aug 29 13:59:11 2000 @@ -568,10 +568,8 @@ } -CONST_PREFIX char *php_apache_value_handler_ex(cmd_parms *cmd, HashTable *conf, char *arg1, char *arg2, int mode) +static void php_apache_pre_init_check(void) { - php_per_dir_entry per_dir_entry; - if (!apache_php_initialized) { apache_php_initialized = 1; #ifdef ZTS @@ -580,6 +578,14 @@ sapi_startup(&sapi_module_conf); php_apache_startup(&sapi_module_conf); } +} + +CONST_PREFIX char *php_apache_value_handler_ex(cmd_parms *cmd, HashTable *conf, char *arg1, char *arg2, int mode) +{ + php_per_dir_entry per_dir_entry; + + php_apache_pre_init_check(); + per_dir_entry.type = mode; if (strcasecmp(arg2, "none") == 0) { @@ -640,6 +646,16 @@ return php_apache_flag_handler_ex(cmd, conf, arg1, arg2, PHP_INI_SYSTEM); } +CONST_PREFIX char *php_apache_extension_handler(cmd_parms *cmd, void *conf, char *module) +{ + pval file, return_value; + file.value.str.val = module; + file.value.str.len = strlen(module); + php_apache_pre_init_check(); + php_dl(&file, MODULE_PERSISTENT, &return_value); + return NULL; +} + @@ -766,6 +782,7 @@ {"php_flag", php_apache_flag_handler, NULL, OR_OPTIONS, TAKE2, "PHP Flag Modifier"}, {"php_admin_value", php_apache_admin_value_handler, NULL, ACCESS_CONF|RSRC_CONF, TAKE2, "PHP Value Modifier (Admin)"}, {"php_admin_flag", php_apache_admin_flag_handler, NULL, ACCESS_CONF|RSRC_CONF, TAKE2, "PHP Flag Modifier (Admin)"}, + {"php_extension", php_apache_extension_handler, NULL, ACCESS_CONF|RSRC_CONF, TAKE1, "PHP Extension"}, {NULL} };

« previous php.dev (#31123) next »