[packages/php/PHP_5_5] Revert "make get_cfg_var("cfg_file_path") and php_ini_loaded_file() report main php.ini"

arekm arekm at pld-linux.org
Fri Nov 6 13:04:45 CET 2015


commit cc3bd1739d031ba0755fde69f0737b92a27f557f
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Fri Nov 6 12:58:40 2015 +0100

    Revert "make get_cfg_var("cfg_file_path") and php_ini_loaded_file() report main php.ini"
    
    This reverts commit 762ec2ebe80654582c9a5f1114691cd6d673d513. due to
        breakage. Reverting fixes regression - confirmation:
        http://lists.pld-linux.org/mailman/pipermail/pld-devel-pl/2015-September/157128.html
    
        TODO: Needed functionality, from this patch, needs to be correctly
        implemented.

 php-sapi-ini-file.patch | 62 ++++++++++++++-----------------------------------
 1 file changed, 18 insertions(+), 44 deletions(-)
---
diff --git a/php-sapi-ini-file.patch b/php-sapi-ini-file.patch
index d42f15b..7dab0cc 100644
--- a/php-sapi-ini-file.patch
+++ b/php-sapi-ini-file.patch
@@ -1,6 +1,6 @@
---- php-5.5.21/main/php_ini.c	2015-01-21 12:23:27.000000000 +0200
-+++ php-5.5.21/main/php_ini.c	2015-02-25 01:40:21.335354971 +0200
-@@ -378,12 +378,19 @@
+--- php-5.4.0RC3/main/php_ini.c~	2011-12-10 03:35:27.000000000 +0200
++++ php-5.4.0RC3/main/php_ini.c	2011-12-10 03:36:08.930154336 +0200
+@@ -358,6 +358,11 @@
  }
  /* }}} */
  
@@ -12,15 +12,7 @@
  /* {{{ php_init_config
   */
  int php_init_config(TSRMLS_D)
- {
- 	char *php_ini_file_name = NULL;
- 	char *php_ini_search_path = NULL;
-+	// value for php_ini_loaded_file() to be stored into php_ini_opened_path
-+	char *php_ini_loaded_file = NULL;
- 	int php_ini_scanned_path_len;
- 	char *open_basedir;
- 	int free_ini_search_path = 0;
-@@ -561,8 +568,29 @@
+@@ -480,6 +485,24 @@
  				}
  			}
  		}
@@ -29,57 +21,38 @@
 +			fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &php_ini_opened_path TSRMLS_CC);
 +			if (fh.handle.fp) {
 +				fh.filename = php_ini_opened_path;
-+
-+				// parse the ini file now
++				//PG(safe_mode) = safe_mode_state;
 +				PG(open_basedir) = open_basedir;
 +				fh.type = ZEND_HANDLE_FP;
 +				zend_parse_ini_file(&fh, 1, ZEND_INI_SCANNER_NORMAL, (zend_ini_parser_cb_t) php_ini_parser_cb, &configuration_hash TSRMLS_CC);
++				//safe_mode_state = PG(safe_mode);
 +				open_basedir = PG(open_basedir);
++				//PG(safe_mode) = 0;
 +				PG(open_basedir) = NULL;
 +				fh.handle.fp = NULL;
- 
--		/* Otherwise search for php-%sapi-module-name%.ini file in search path */
-+				// save this for later
-+				php_ini_loaded_file = estrdup(php_ini_opened_path);
-+
 +				efree(php_ini_opened_path);
 +				fh.filename = php_ini_opened_path = NULL;
 +			}
 +		}
-+
-+		/* Also search for php-%sapi-module-name%.ini file in search path */
+ 
+ 		/* Otherwise search for php-%sapi-module-name%.ini file in search path */
  		if (!fh.handle.fp) {
- 			const char *fmt = "php-%s.ini";
- 			char *ini_fname;
-@@ -572,13 +600,10 @@
- 			if (fh.handle.fp) {
+@@ -492,14 +515,6 @@
  				fh.filename = php_ini_opened_path;
  			}
--		}
- 
+ 		}
+-
 -		/* If still no ini file found, search for php.ini file in search path */
 -		if (!fh.handle.fp) {
 -			fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &php_ini_opened_path TSRMLS_CC);
 -			if (fh.handle.fp) {
 -				fh.filename = php_ini_opened_path;
-+			// restore previous value, so php_ini_loaded_file() works as expected
-+			if (php_ini_loaded_file) {
-+				php_ini_opened_path = php_ini_loaded_file;
- 			}
- 		}
+-			}
+-		}
  	}
-@@ -597,6 +622,10 @@
- 
- 		{
- 			zval tmp;
-+			// use main php.ini if loaded
-+			if (php_ini_loaded_file) {
-+				fh.filename = php_ini_loaded_file;
-+			}
  
- 			Z_STRLEN(tmp) = strlen(fh.filename);
- 			Z_STRVAL(tmp) = zend_strndup(fh.filename, Z_STRLEN(tmp));
-@@ -630,13 +659,15 @@
+ 	if (free_ini_search_path) {
+@@ -645,13 +645,15 @@ int php_init_config(TSRMLS_D)
  		zend_llist scanned_ini_list;
  		zend_llist_element *element;
  		int l, total_l = 0;
@@ -96,7 +69,7 @@
  		for (debpath = bufpath ; debpath ; debpath=endpath) {
  			endpath = strchr(debpath, DEFAULT_DIR_SEPARATOR);
  			if (endpath) {
-@@ -649,7 +680,7 @@
+@@ -664,7 +666,7 @@ int php_init_config(TSRMLS_D)
  			}
  			lenpath = strlen(debpath);
  
@@ -105,3 +78,4 @@
  
  				for (i = 0; i < ndir; i++) {
  
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/php.git/commitdiff/868ba541ecb96ce4f22a23fc1581d5b1d5c26be1



More information about the pld-cvs-commit mailing list