"7.4", "mysql" => "5.7.22", ]; function checkPhpVersion() { global $requirements; if (version_compare(phpversion(), $requirements["php"], '>=')) { return "OK"; } return "not OK"; } function getMySQLVersion() { global $requirements; $output = shell_exec('mysql -V'); preg_match('@[0-9]+\.[0-9]+\.[0-9]+@', $output, $version); $versionoutput = $version[0] ?? "0"; return (intval($versionoutput) > intval($requirements["mysql"]) ? "OK" : $versionoutput); } function getZipVersion() { global $requirements; $output = shell_exec('zip -v'); preg_match('@[0-9]+\.[0-9]+\.[0-9]+@', $output, $version); $versionoutput = $version[0] ?? 0; return ($versionoutput != 0 ? "OK" : "not OK"); } function getGitVersion() { global $requirements; $output = shell_exec('git --version'); preg_match('@[0-9]+\.[0-9]+\.[0-9]+@', $output, $version); $versionoutput = $version[0] ?? 0; return ($versionoutput != 0 ? "OK" : "not OK"); } function getTarVersion() { global $requirements; $output = shell_exec('tar --version'); preg_match('@[0-9]+\.[0-9]+@', $output, $version); $versionoutput = $version[0] ?? 0; return ($versionoutput != 0 ? "OK" : "not OK"); } function checkExtensions() { global $required_extentions; $not_ok = []; $extentions = get_loaded_extensions(); foreach ($required_extentions as $ext) { if (!in_array($ext, $extentions)) { array_push($not_ok, $ext); } } return $not_ok; } function setEnvironmentValue($envKey, $envValue) { $envFile = dirname(__FILE__, 3) . "/.env"; $str = file_get_contents($envFile); $str .= "\n"; // In case the searched variable is in the last line without \n $keyPosition = strpos($str, "{$envKey}="); $endOfLinePosition = strpos($str, PHP_EOL, $keyPosition); $oldLine = substr($str, $keyPosition, $endOfLinePosition - $keyPosition); $str = str_replace($oldLine, "{$envKey}={$envValue}", $str); $str = substr($str, 0, -1); $fp = fopen($envFile, 'w'); fwrite($fp, $str); fclose($fp); } ?>