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'))) {