diff --git a/app/Space/EnvironmentManager.php b/app/Space/EnvironmentManager.php index f5a23d70..cc412052 100755 --- a/app/Space/EnvironmentManager.php +++ b/app/Space/EnvironmentManager.php @@ -6,6 +6,7 @@ use Crater\Http\Requests\DatabaseEnvironmentRequest; use Crater\Http\Requests\DiskEnvironmentRequest; use Crater\Http\Requests\DomainEnvironmentRequest; use Crater\Http\Requests\MailEnvironmentRequest; +use Crater\Http\Requests\PaymentSettingsRequest; use Exception; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -76,9 +77,9 @@ class EnvironmentManager } try { - $this->checkDatabaseConnection($request); + $conn = $this->checkDatabaseConnection($request); - $requirement = $this->checkVersionRequirements($request); + $requirement = $this->checkVersionRequirements($request, $conn); if ($requirement) { return [ @@ -176,7 +177,7 @@ class EnvironmentManager * @param DatabaseEnvironmentRequest $request * @return bool */ - private function checkVersionRequirements(DatabaseEnvironmentRequest $request) + private function checkVersionRequirements(DatabaseEnvironmentRequest $request, $conn) { $connection = $request->database_connection; @@ -195,6 +196,7 @@ class EnvironmentManager switch ($connection) { case 'mysql': $dbSupportInfo = $checker->checkMysqlVersion( + $conn, config('crater.min_mysql_version') ); diff --git a/app/Space/RequirementsChecker.php b/app/Space/RequirementsChecker.php index f37c0749..a463d8d1 100755 --- a/app/Space/RequirementsChecker.php +++ b/app/Space/RequirementsChecker.php @@ -2,6 +2,7 @@ namespace Crater\Space; +use PDO; use SQLite3; class RequirementsChecker @@ -121,10 +122,10 @@ class RequirementsChecker * * @return array */ - public function checkMysqlVersion(string $minMysqlVersion = null) + public function checkMysqlVersion($conn, string $minMysqlVersion = null) { $minVersionMysql = $minMysqlVersion; - $currentMysqlVersion = $this->getMysqlVersionInfo(); + $currentMysqlVersion = $this->getMysqlVersionInfo($conn); $supported = false; if (version_compare($currentMysqlVersion, $minVersionMysql) >= 0) { @@ -145,11 +146,11 @@ class RequirementsChecker * * @return string */ - private static function getMysqlVersionInfo() + private static function getMysqlVersionInfo($pdo) { - $currentVersion = explode(' ', mysqli_get_client_info()); + $currentVersion = $pdo->getAttribute(PDO::ATTR_SERVER_VERSION); - return $currentVersion[1]; + return $currentVersion; } /**