In addtion to path to php.ini, PHPRC now may specify full file name

This commit is contained in:
Dmitry Stogov 2006-08-03 11:05:09 +00:00
parent 9625469a44
commit a0f7f6680a

View File

@ -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);
}
}
}
}