Patch attached as usual, should be quite self-exlaining. :D --Jani
Index: php_ini.c =================================================================== RCS file: /repository/php-src/main/php_ini.c,v retrieving revision 1.136.2.4.2.7 diff -u -r1.136.2.4.2.7 php_ini.c --- php_ini.c 24 Feb 2007 02:17:28 -0000 1.136.2.4.2.7 +++ php_ini.c 2 Apr 2007 12:48:31 -0000 @@ -258,6 +258,7 @@ */ int php_init_config(TSRMLS_D) { + char *default_location = NULL; char *php_ini_file_name = NULL; char *php_ini_search_path = NULL; int safe_mode_state; @@ -292,7 +293,6 @@ free_ini_search_path = 0; } else if (!sapi_module.php_ini_ignore) { int search_path_size; - char *default_location; char *env_location; char *binary_location; static const char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 }; @@ -424,11 +424,11 @@ PG(open_basedir) = NULL; memset(&fh, 0, sizeof(fh)); - /* Check if php_ini_path_override is a file */ if (!sapi_module.php_ini_ignore) { + struct stat statbuf; + + /* Check if php_ini_path_override is a file */ if (php_ini_file_name && php_ini_file_name[0]) { - struct stat statbuf; - if (!VCWD_STAT(php_ini_file_name, &statbuf)) { if (!((statbuf.st_mode & S_IFMT) == S_IFDIR)) { fh.handle.fp = VCWD_FOPEN(php_ini_file_name, "r"); @@ -438,6 +438,21 @@ } } } +#ifndef PHP_WIN32 + /* Check if PHP_CONFIG_FILE_PATH points to a file */ + if (default_location && default_location[0] && + default_location[strlen(default_location)-1] != '/' + ) { + if (!VCWD_STAT(default_location, &statbuf)) { + if (!((statbuf.st_mode & S_IFMT) == S_IFDIR)) { + fh.handle.fp = VCWD_FOPEN(default_location, "r"); + if (fh.handle.fp) { + fh.filename = php_ini_opened_path = expand_filepath(default_location, NULL TSRMLS_CC); + } + } + } + } +#endif /* Search php-%sapi-module-name%.ini file in search path */ if (!fh.handle.fp) { const char *fmt = "php-%s.ini";
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php