[packages/php/ini] updated php-sapi-ini-file.patch

glen glen at pld-linux.org
Wed Aug 7 23:11:18 CEST 2019


commit c1d271ea52035084255343f437b0b90c0f7ac3c4
Author: Elan Ruusamäe <glen at pld-linux.org>
Date:   Fri Aug 2 13:34:13 2019 +0300

    updated php-sapi-ini-file.patch

 php-sapi-ini-file.patch | 81 ++++++++++++++++++++++---------------------------
 php.spec                |  1 +
 2 files changed, 37 insertions(+), 45 deletions(-)
---
diff --git a/php.spec b/php.spec
index fe0d2e9..e65051e 100644
--- a/php.spec
+++ b/php.spec
@@ -8,6 +8,7 @@
 #   - 2.3M fileinfo.so php-fileinfo-5.3.16-1.x86_64
 #   -  13K fileinfo.so php-pecl-fileinfo-1.0.4-8.amd64
 # - ttyname_r() misdetected http://bugs.php.net/bug.php?id=48820
+# - replace php-sapi-ini-file.patch with file in <sapi>.d directory
 #
 # Conditional build:
 # - packaging options
diff --git a/php-sapi-ini-file.patch b/php-sapi-ini-file.patch
index 0ed4d79..391d9ef 100644
--- a/php-sapi-ini-file.patch
+++ b/php-sapi-ini-file.patch
@@ -3,10 +3,10 @@ $ php -r 'var_dump(array(get_cfg_var("cfg_file_path"),php_ini_loaded_file()));'
 
 https://github.com/pld-linux/php/commit/762ec2e
 
---- php-7.0.0RC6.orig/main/php_ini.c	2015-11-10 23:58:52.227101032 +0200
-+++ php-7.0.0RC6/main/php_ini.c	2015-11-11 00:01:43.502674750 +0200
-@@ -375,12 +375,19 @@
- }
+--- php-7.4.0beta1.oric/main/php_ini.c	2019-07-24 12:38:41.000000000 +0300
++++ php-7.4.0beta1/main/php_ini.c	2019-08-02 15:30:54.118722110 +0300
+@@ -410,12 +410,19 @@
+ #endif
  /* }}} */
  
 +static int php_csort(const struct dirent **a, const struct dirent **b)
@@ -25,52 +25,44 @@ https://github.com/pld-linux/php/commit/762ec2e
  	int php_ini_scanned_path_len;
  	char *open_basedir;
  	int free_ini_search_path = 0;
-@@ -557,8 +564,26 @@
- 				}
+@@ -595,21 +602,28 @@
  			}
  		}
+ 
+-		/* Otherwise search for php-%sapi-module-name%.ini file in search path */
 +		/* Search (global) php.ini file in search path */
-+		if (!fh.handle.fp) {
-+			fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &opened_path);
-+			if (fh.handle.fp) {
-+				fh.filename = ZSTR_VAL(opened_path);
+ 		if (!fp) {
+-			const char *fmt = "php-%s.ini";
+-			char *ini_fname;
+-			spprintf(&ini_fname, 0, fmt, sapi_module.name);
+-			fp = php_fopen_with_path(ini_fname, "r", php_ini_search_path, &opened_path);
+-			efree(ini_fname);
++			fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &opened_path);
+ 			if (fp) {
++				zend_file_handle fh;
+ 				filename = ZSTR_VAL(opened_path);
++				zend_stream_init_fp(&fh, VCWD_FOPEN(filename, "r"), filename);
++				RESET_ACTIVE_INI_HASH();
 +
-+				// parse the ini file now
-+				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);
-+				open_basedir = PG(open_basedir);
-+				PG(open_basedir) = NULL;
-+				fh.handle.fp = NULL;
++				zend_parse_ini_file(&fh, 1, ZEND_INI_SCANNER_NORMAL, (zend_ini_parser_cb_t) php_ini_parser_cb, &configuration_hash);
 +
-+				php_ini_loaded_file = estrdup(fh.filename);
-+				fh.filename = NULL;
-+			}
-+		}
- 
--		/* Otherwise search for php-%sapi-module-name%.ini file in search path */
-+		/* Also search for php-%sapi-module-name%.ini file in search path */
- 		if (!fh.handle.fp) {
- 			const char *fmt = "php-%s.ini";
- 			char *ini_fname;
-@@ -568,15 +593,8 @@
- 			if (fh.handle.fp) {
- 				fh.filename = ZSTR_VAL(opened_path);
++				php_ini_loaded_file = estrdup(filename);
  			}
--		}
+ 		}
  
 -		/* 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, &opened_path);
--			if (fh.handle.fp) {
--				fh.filename = ZSTR_VAL(opened_path);
--			}
--		}
-+ 		}
- 	}
- 
- 	if (free_ini_search_path) {
-@@ -593,14 +611,28 @@
++		/* Also search for php-%sapi-module-name%.ini file in search path */
+ 		if (!fp) {
+-			fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &opened_path);
++			const char *fmt = "php-%s.ini";
++			char *ini_fname;
++			spprintf(&ini_fname, 0, fmt, sapi_module.name);
++			fp = php_fopen_with_path(ini_fname, "r", php_ini_search_path, &opened_path);
++			efree(ini_fname);
+ 			if (fp) {
+ 				filename = ZSTR_VAL(opened_path);
+ 			}
+@@ -631,14 +645,28 @@
  
  		{
  			zval tmp;
@@ -100,7 +92,7 @@ https://github.com/pld-linux/php/commit/762ec2e
  			php_ini_opened_path = zend_strndup(Z_STRVAL(tmp), Z_STRLEN(tmp));
  		}
  	}
-@@ -624,13 +656,15 @@
+@@ -661,12 +689,14 @@
  		zend_llist scanned_ini_list;
  		zend_llist_element *element;
  		int l, total_l = 0;
@@ -109,7 +101,6 @@ https://github.com/pld-linux/php/commit/762ec2e
  		int lenpath;
  
  		zend_llist_init(&scanned_ini_list, sizeof(char *), (llist_dtor_func_t) free_estring, 1);
- 		memset(&fh2, 0, sizeof(fh2));
  
 -		bufpath = estrdup(php_ini_scanned_path);
 +		bufpath = emalloc(strlen(php_ini_scanned_path) + strlen(fmt) + strlen(sapi_module.name));
@@ -117,7 +108,7 @@ https://github.com/pld-linux/php/commit/762ec2e
  		for (debpath = bufpath ; debpath ; debpath=endpath) {
  			endpath = strchr(debpath, DEFAULT_DIR_SEPARATOR);
  			if (endpath) {
-@@ -643,7 +677,7 @@
+@@ -679,7 +709,7 @@
  			}
  			lenpath = (int)strlen(debpath);
  
================================================================

---- gitweb:

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



More information about the pld-cvs-commit mailing list