Bootstrap: Check that ini_get_all() exists before calling it, allows us to work around hosts who disable the function for "security purposes".
Merges [38431] to the 4.6 branch. Fixes #37680. Built from https://develop.svn.wordpress.org/branches/4.6@38460 git-svn-id: http://core.svn.wordpress.org/branches/4.6@38401 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
33c1c022e3
commit
c53ae0299a
|
@ -1017,13 +1017,22 @@ function wp_is_ini_value_changeable( $setting ) {
|
|||
static $ini_all;
|
||||
|
||||
if ( ! isset( $ini_all ) ) {
|
||||
$ini_all = ini_get_all();
|
||||
}
|
||||
$ini_all = false;
|
||||
// Sometimes `ini_get_all()` is disabled via the `disable_functions` option for "security purposes".
|
||||
if ( function_exists( 'ini_get_all' ) ) {
|
||||
$ini_all = ini_get_all();
|
||||
}
|
||||
}
|
||||
|
||||
// Bit operator to workaround https://bugs.php.net/bug.php?id=44936 which changes access level to 63 in PHP 5.2.6 - 5.2.17.
|
||||
if ( isset( $ini_all[ $setting ]['access'] ) && ( INI_ALL === ( $ini_all[ $setting ]['access'] & 7 ) || INI_USER === ( $ini_all[ $setting ]['access'] & 7 ) ) ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// If we were unable to retrieve the details, fail gracefully to assume it's changeable.
|
||||
if ( ! is_array( $ini_all ) ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*
|
||||
* @global string $wp_version
|
||||
*/
|
||||
$wp_version = '4.6.1-alpha-38442';
|
||||
$wp_version = '4.6.1-alpha-38460';
|
||||
|
||||
/**
|
||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||
|
|
Loading…
Reference in New Issue