]> granicus.if.org Git - php/commitdiff
Added "PHPINIDir" Apache directive to apache and apache_hooks SAPIs
authorDmitry Stogov <dmitry@php.net>
Thu, 3 Aug 2006 09:57:05 +0000 (09:57 +0000)
committerDmitry Stogov <dmitry@php.net>
Thu, 3 Aug 2006 09:57:05 +0000 (09:57 +0000)
sapi/apache/mod_php5.c
sapi/apache_hooks/mod_php5.c

index be7e581597f75fedcc584217491b0b8fccdad9f9..f0f7ba8ce8635263f1dcf05a71fe7b11b9cc6979 100644 (file)
@@ -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}
 };
 /* }}} */
index 52a6b3c143db247d375261dfac9f91bd7ef3846c..6de1ca73e5a1ac22cabd140c391b646a9713cf68 100644 (file)
@@ -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}
 };
 /* }}} */