diff options
author | Dmitry Stogov <dmitry@php.net> | 2006-08-03 11:04:52 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2006-08-03 11:04:52 +0000 |
commit | c946b4d1b25fa1723d3c08b5fc3be69bb32f90c2 (patch) | |
tree | ed457c4c84c2cac0de8309cc7a862bb367185431 /main/php_ini.c | |
parent | bc8f1bc4f0aa0d0a72ae7e958e825cb205e149b1 (diff) | |
download | php-git-c946b4d1b25fa1723d3c08b5fc3be69bb32f90c2.tar.gz |
In addtion to path to php.ini, PHPRC now may specify full file name
Diffstat (limited to 'main/php_ini.c')
-rw-r--r-- | main/php_ini.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/main/php_ini.c b/main/php_ini.c index c4abee2b67..25fbe0f487 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; int safe_mode_state; char *open_basedir; @@ -286,6 +287,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) { @@ -316,6 +318,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 @@ -421,13 +424,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); + } } } } |