diff --git a/bootstrap/chkenv.php b/bootstrap/chkenv.php index d6e19b26..4bbe4669 100644 --- a/bootstrap/chkenv.php +++ b/bootstrap/chkenv.php @@ -29,12 +29,16 @@ ini_set('display_errors', true); file_put_contents($envPath, preg_replace('/APP_KEY\s*=\s*/', 'APP_KEY='.$key."\n\n", $envFile)); } - if (!empty(ini_get('disable_functions'))) { - die_with_utf8_encoding( - '[Error] Please don\'t disable any functions, which is specified in "php.ini" file.
'. - '[错误] 请不要在 php.ini 中禁用任何函数。'. - '我们不建议使用您使用宝塔等面板软件,因为容易引起兼容性问题。' - ); + $requiredFunctions = ['symlink', 'readlink', 'putenv', 'realpath']; + $disabledFunctions = preg_split('/,\s*/', ini_get('disable_functions')); + foreach ($requiredFunctions as $fn) { + if (in_array($fn, $disabledFunctions)) { + die_with_utf8_encoding( + '[Error] Please don\'t disable built-in function "'.$fn.'", which is specified in "php.ini" file.
'. + "[错误] 请不要在 php.ini 中禁用 $fn 函数。". + '我们不建议使用您使用宝塔等面板软件,因为容易引起兼容性问题。' + ); + } } if (!empty(ini_get('open_basedir'))) {