From a0f7f6680a6bcf8d7826ba339f8e836c46e835c4 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 3 Aug 2006 11:05:09 +0000 Subject: [PATCH] In addtion to path to php.ini, PHPRC now may specify full file name --- main/php_ini.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/main/php_ini.c b/main/php_ini.c index f547136a3c..da8ba16644 100644 --- a/main/php_ini.c +++ b/main/php_ini.c @@ -258,6 +258,7 @@ static void pvalue_config_destructor(zval *pvalue) */ int php_init_config(TSRMLS_D) { + char *php_ini_file_name = NULL; char *php_ini_search_path = NULL; char *open_basedir; int free_ini_search_path = 0; @@ -284,6 +285,7 @@ int php_init_config(TSRMLS_D) open_basedir = PG(open_basedir); if (sapi_module.php_ini_path_override) { + php_ini_file_name = sapi_module.php_ini_path_override; php_ini_search_path = sapi_module.php_ini_path_override; free_ini_search_path = 0; } else if (!sapi_module.php_ini_ignore) { @@ -314,6 +316,7 @@ int php_init_config(TSRMLS_D) strcat(php_ini_search_path, paths_separator); } strcat(php_ini_search_path, env_location); + php_ini_file_name = env_location; } #ifdef PHP_WIN32 @@ -418,13 +421,15 @@ int php_init_config(TSRMLS_D) memset(&fh, 0, sizeof(fh)); /* Check if php_ini_path_override is a file */ if (!sapi_module.php_ini_ignore) { - if (sapi_module.php_ini_path_override && sapi_module.php_ini_path_override[0]) { + if (php_ini_file_name && php_ini_file_name[0]) { struct stat statbuf; - if (!VCWD_STAT(sapi_module.php_ini_path_override, &statbuf)) { + if (!VCWD_STAT(php_ini_file_name, &statbuf)) { if (!((statbuf.st_mode & S_IFMT) == S_IFDIR)) { - fh.handle.fp = VCWD_FOPEN(sapi_module.php_ini_path_override, "r"); - fh.filename = sapi_module.php_ini_path_override; + fh.handle.fp = VCWD_FOPEN(php_ini_file_name, "r"); + if (fh.handle.fp) { + fh.filename = php_ini_opened_path = expand_filepath(php_ini_file_name, NULL TSRMLS_CC); + } } } } -- 2.50.1