Current File : //proc/self/root/var/softaculous/magento241/check_elasticsearch.php |
<?php
@unlink('check_elasticsearch.php');
$elasticsearch_ip = '[[elasticsearch_ip]]';
$elasticsearch_port = '[[elasticsearch_port]]';
$elasticsearch_ver_req = '[[elasticsearch_ver_req]]';
$elasticsearch_username = '[[elasticsearch_username]]';
$elasticsearch_password = '[[elasticsearch_password]]';
$verifyes = __magento24_curl_call($elasticsearch_ip.":".$elasticsearch_port, 0, 5, '', '', '', $elasticsearch_username, $elasticsearch_password);
if(!empty($verifyes)){
$value = json_decode($verifyes, true);
if(!empty($value["version"]["number"]) && version_compare($value["version"]["number"], $elasticsearch_ver_req, '>=')){
$verifyesstatus = __magento24_curl_call($elasticsearch_ip.":".$elasticsearch_port."/_cluster/health?pretty", 0, 5, '', '', '', $elasticsearch_username, $elasticsearch_password);
$value = json_decode($verifyesstatus, true);
if($value["status"] != 'green' && $value["status"] != 'yellow'){
$error = 'Elasticsearch is not running. Elasticsearch '.$elasticsearch_ver_req.' or higher is required to install Magento 2.4.x';
}
}else{
$error = 'Elasticsearch version found '.$value["version"]["number"].'. Required '.$elasticsearch_ver_req.' or higher to install Magento 2.4.x';
}
}else{
$error = 'elasticsearch_later';
}
if(!empty($error)){
echo '<es_installed>0</es_installed>
<es_error>'.$error.'</es_error>';
}else{
echo '<es_installed>1</es_installed>';
}
function __magento24_curl_call($url, $header = 1, $time = 1, $post = array(), $cookie = '', $nodns = 0, $username = '', $password = ''){
global $globals, $softpanel;
// Some servers respond slow so we allow them to set a custom timeout
if(!empty($globals['curl_timeout']) && $globals['curl_timeout'] > $time){
$time = (int) $globals['curl_timeout'];
}
// Set the curl parameters.
$ch = curl_init();
$HTTPHEADER = array();
// Do not load the content from cached URL
// Some hosts have cache enabled and we do not want the content to be loaded from cache
$HTTPHEADER[] = 'Cache-Control: no-cache';
if(!empty($nodns) && !empty($server_ip)){
$url = str_replace($domain, $server_ip, $url);
curl_setopt($ch, CURLOPT_URL, $url);
$HTTPHEADER[] = 'Host: '.$domain;
}else{
curl_setopt($ch, CURLOPT_URL, $url);
}
curl_setopt($ch, CURLOPT_HTTPHEADER, $HTTPHEADER);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time);
//Set proxy
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$no_follow_location = 0;
if(function_exists('ini_get')){
$open_basedir = ini_get('open_basedir'); // Followlocation does not work if open_basedir is enabled
if(!empty($open_basedir)){
$no_follow_location = 1;
}
}
if(empty($no_follow_location)){
// Follow redirects
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
}
if(!empty($post)){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
}
// Is there a Cookie
if(!empty($cookie)){
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
}
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1');
if($header){
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, true);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//To check ES service with username and password
if(!empty($username) && !empty($password)){
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
}
// Get response from the server.
$resp = curl_exec($ch);
$curl_errno = curl_error($ch);
//echo $curl_errno;
curl_close($ch);
return $resp;
}