From: Dmitry Stogov Date: Thu, 3 Aug 2006 09:57:05 +0000 (+0000) Subject: Added "PHPINIDir" Apache directive to apache and apache_hooks SAPIs X-Git-Tag: RELEASE_1_0_0RC1~2118 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c6fdecc9069b25b92ffd5baa52a322c4543cfa45;p=php Added "PHPINIDir" Apache directive to apache and apache_hooks SAPIs --- diff --git a/sapi/apache/mod_php5.c b/sapi/apache/mod_php5.c index be7e581597..f0f7ba8ce8 100644 --- a/sapi/apache/mod_php5.c +++ b/sapi/apache/mod_php5.c @@ -848,6 +848,18 @@ static CONST_PREFIX char *php_apache_admin_flag_handler(cmd_parms *cmd, HashTabl } /* }}} */ +/* {{{ php_apache_phpini_set + */ +static CONST_PREFIX char *php_apache_phpini_set(cmd_parms *cmd, HashTable *conf, char *arg) +{ + if (apache_sapi_module.php_ini_path_override) { + return "Only first PHPINIDir directive honored per configuration tree - subsequent ones ignored"; + } + apache_sapi_module.php_ini_path_override = ap_server_root_relative(cmd->pool, arg); + return NULL; +} +/* }}} */ + /* {{{ int php_xbithack_handler(request_rec * r) */ static int php_xbithack_handler(request_rec * r) @@ -950,6 +962,7 @@ command_rec php_commands[] = {"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)"}, + {"PHPINIDir", php_apache_phpini_set, NULL, RSRC_CONF, TAKE1, "Directory containing the php.ini file"}, {NULL} }; /* }}} */ diff --git a/sapi/apache_hooks/mod_php5.c b/sapi/apache_hooks/mod_php5.c index 52a6b3c143..6de1ca73e5 100644 --- a/sapi/apache_hooks/mod_php5.c +++ b/sapi/apache_hooks/mod_php5.c @@ -1145,6 +1145,18 @@ static CONST_PREFIX char *php_apache_admin_flag_handler(cmd_parms *cmd, php_per_ } /* }}} */ +/* {{{ php_apache_phpini_set + */ +static CONST_PREFIX char *php_apache_phpini_set(cmd_parms *cmd, HashTable *conf, char *arg) +{ + if (apache_sapi_module.php_ini_path_override) { + return "Only first PHPINIDir directive honored per configuration tree - subsequent ones ignored"; + } + apache_sapi_module.php_ini_path_override = ap_server_root_relative(cmd->pool, arg); + return NULL; +} +/* }}} */ + /* {{{ int php_xbithack_handler(request_rec * r) */ static int php_xbithack_handler(request_rec * r) @@ -1416,6 +1428,7 @@ command_rec php_commands[] = {"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)"}, + {"PHPINIDir", php_apache_phpini_set, NULL, RSRC_CONF, TAKE1, "Directory containing the php.ini file"}, {NULL} }; /* }}} */