summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjohnstevenson <john-stevenson@blueyonder.co.uk>2017-11-16 17:56:32 +0000
committerNikita Popov <nikita.ppv@gmail.com>2017-11-28 23:33:48 +0100
commit6ed242dfc84a9e58f6e03184d99611f2cfb2a265 (patch)
tree60a7713218b3ce40377b0d3fe9b5bc5dfbef9ee4
parent8b57a5bca0c5a9ba064aa27e7614d1a11c0cac6d (diff)
downloadphp-git-6ed242dfc84a9e58f6e03184d99611f2cfb2a265.tar.gz
Fixed #73124: php_ini_scanned_files()
Additional ini files are reported using the --ini option, but not by `php_ini_scanned_files()`, which relied on PHP_CONFIG_FILE_SCAN_DIR.
-rw-r--r--NEWS2
-rw-r--r--ext/standard/info.c2
-rw-r--r--ext/standard/tests/bug73124.phpt24
3 files changed, 27 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 095b91b81c..6fa81006ea 100644
--- a/NEWS
+++ b/NEWS
@@ -33,6 +33,8 @@ PHP NEWS
segment fault). (Nikita)
. Fixed bug #75409 (accept EFAULT in addition to ENOSYS as indicator
that getrandom() is missing). (sarciszewski)
+ . Fixed bug #73124 (php_ini_scanned_files() not reporting correctly).
+ (John Stevenson)
- Zip:
. Fixed bug #75540 (Segfault with libzip 1.3.1). (Remi)
diff --git a/ext/standard/info.c b/ext/standard/info.c
index 76802fa842..7b045b72ac 100644
--- a/ext/standard/info.c
+++ b/ext/standard/info.c
@@ -1395,7 +1395,7 @@ PHP_FUNCTION(php_ini_scanned_files)
return;
}
- if (strlen(PHP_CONFIG_FILE_SCAN_DIR) && php_ini_scanned_files) {
+ if (php_ini_scanned_files) {
RETURN_STRING(php_ini_scanned_files);
} else {
RETURN_FALSE;
diff --git a/ext/standard/tests/bug73124.phpt b/ext/standard/tests/bug73124.phpt
new file mode 100644
index 0000000000..7064d65558
--- /dev/null
+++ b/ext/standard/tests/bug73124.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Bug #73124 (php_ini_scanned_files relied on PHP_CONFIG_FILE_SCAN_DIR)
+--SKIPIF--
+<?php
+if (!empty(PHP_CONFIG_FILE_SCAN_DIR)) die("Skip: PHP_CONFIG_FILE_SCAN_DIR must not be available");
+?>
+--FILE--
+<?php
+ $tempDir = sys_get_temp_dir();
+ putenv('PHP_INI_SCAN_DIR='.$tempDir);
+
+ $inifile = $tempDir.DIRECTORY_SEPARATOR.'scan-dir.ini';
+ @unlink($inifile);
+ file_put_contents($inifile, "\n");
+
+ $php = getenv('TEST_PHP_EXECUTABLE');
+ passthru('"'.$php.'" -r "print_r(php_ini_scanned_files());"');
+
+ putenv('PHP_INI_SCAN_DIR=');
+ @unlink($inifile);
+?>
+--EXPECTREGEX--
+.*[\/\\]scan-dir\.ini.*|.*[\/\\]scan-dir\.ini
+Done