*/
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;
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) {
strcat(php_ini_search_path, paths_separator);
}
strcat(php_ini_search_path, env_location);
+ php_ini_file_name = env_location;
}
#ifdef PHP_WIN32
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);
+ }
}
}
}