add complete requirements form extensions

This commit is contained in:
xiaomlove
2021-05-08 17:58:28 +08:00
parent bd1ab5fc9a
commit cd8407c8ca
+23 -32
View File
@@ -112,56 +112,47 @@ class Install
public function listRequirementTableRows() public function listRequirementTableRows()
{ {
$gdInfo = function_exists('gd_info') ? gd_info() : []; $gdInfo = function_exists('gd_info') ? gd_info() : [];
$tableRows = [ $extensions = ['ctype', 'fileinfo', 'json', 'mbstring', 'openssl', 'pdo_mysql', 'tokenizer', 'xml', 'mysqli', 'gd'];
[ $tableRows = [];
$tableRows[] = [
'label' => 'PHP version', 'label' => 'PHP version',
'required' => '>= ' . $this->minimumPhpVersion, 'required' => '>= ' . $this->minimumPhpVersion,
'current' => PHP_VERSION, 'current' => PHP_VERSION,
'result' => $this->yesOrNo(version_compare(PHP_VERSION, $this->minimumPhpVersion, '>=')), 'result' => $this->yesOrNo(version_compare(PHP_VERSION, $this->minimumPhpVersion, '>=')),
], ];
[ foreach ($extensions as $extension) {
'label' => 'PHP extension redis', $tableRows[] = [
'required' => 'optional', 'label' => "PHP extension $extension",
'current' => extension_loaded('redis'),
'result' => $this->yesOrNo(extension_loaded('redis')),
],
[
'label' => 'PHP extension mysqli',
'required' => 'enabled', 'required' => 'enabled',
'current' => extension_loaded('mysqli'), 'current' => extension_loaded($extension),
'result' => $this->yesOrNo(extension_loaded('mysqli')), 'result' => $this->yesOrNo(extension_loaded($extension)),
], ];
[ }
'label' => 'PHP extension mbstring', $tableRows[] = [
'required' => 'enabled',
'current' => extension_loaded('mbstring'),
'result' => $this->yesOrNo(extension_loaded('mbstring')),
],
[
'label' => 'PHP extension gd',
'required' => 'enabled',
'current' => extension_loaded('gd'),
'result' => $this->yesOrNo(extension_loaded('gd')),
],
[
'label' => 'PHP extension gd JPEG Support', 'label' => 'PHP extension gd JPEG Support',
'required' => 'true', 'required' => 'true',
'current' => $gdInfo['JPEG Support'] ?? '', 'current' => $gdInfo['JPEG Support'] ?? '',
'result' => $this->yesOrNo($gdInfo['JPEG Support'] ?? ''), 'result' => $this->yesOrNo($gdInfo['JPEG Support'] ?? ''),
], ];
[ $tableRows[] = [
'label' => 'PHP extension gd PNG Support', 'label' => 'PHP extension gd PNG Support',
'required' => 'true', 'required' => 'true',
'current' => $gdInfo['PNG Support'] ?? '', 'current' => $gdInfo['PNG Support'] ?? '',
'result' => $this->yesOrNo($gdInfo['PNG Support'] ?? ''), 'result' => $this->yesOrNo($gdInfo['PNG Support'] ?? ''),
], ];
[ $tableRows[] = [
'label' => 'PHP extension gd GIF Read Support', 'label' => 'PHP extension gd GIF Read Support',
'required' => 'true', 'required' => 'true',
'current' => $gdInfo['GIF Read Support'] ?? '', 'current' => $gdInfo['GIF Read Support'] ?? '',
'result' => $this->yesOrNo($gdInfo['GIF Read Support'] ?? ''), 'result' => $this->yesOrNo($gdInfo['GIF Read Support'] ?? ''),
],
]; ];
$tableRows[] = [
'label' => 'PHP extension redis',
'required' => 'optional',
'current' => extension_loaded('redis'),
'result' => $this->yesOrNo(extension_loaded('redis')),
];
$fails = array_filter($tableRows, function ($value) {return in_array($value['required'], ['true', 'enabled']) && $value['result'] == 'NO';}); $fails = array_filter($tableRows, function ($value) {return in_array($value['required'], ['true', 'enabled']) && $value['result'] == 'NO';});
$pass = empty($fails); $pass = empty($fails);