Перейти к публикации

Рекомендованные сообщения

у меня есть проблема с связю майэскуель. У меня датабаза находиться физически далеко от веб сервера, и я установил майэскуел так чтоб связ с датабазой бил шифрованний с SSL/TLS протокилами. Но у вас в dbconfing.php нету таково параметра. Я не могу установить ДатаЛайф в етом сценарии.
Можете помоч с етим просьбой. Как настроить ДатаЛайф так штобы оно связалас с помошю етих протоколов. 
Спасибо вам и С Новим Годом.

Ссылка на сообщение
Поделиться на других сайтах

DLE этого не поддерживает. Вам нужно править класс работы с БД в engine/classes/mysql.php и задавать свои сертификаты для соединения https://www.php.net/manual/en/mysqli.ssl-set.php

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, wfresno сказал:

А как мне изменить engine/classes/mysql.php файл если я откриваю файл и вижу какбы кто-то тут набрал случайний текст.

У вас бесплатная демоверсия? На демоверсии никак. Нужно иметь платный дистрибутив с открытым исходным кодом. Т.е. в данном случае чтобы править файлы скрипта, необходимо иметь лицензию.

Ссылка на сообщение
Поделиться на других сайтах

Ну я делаю миграцию и на новом машине для теста установяю бесплатную версию.
Не догодаля у бесплатной версии это блокированно.
Наверное нужно мейнять этот часть кода?
 

 function connect($db_user, $db_pass, $db_name, $db_location = 'localhost', $show_error = 1) {
        $db_location = explode(":", $db_location);
        $time_before = $this->get_real_time();
        mysqli_report(MYSQLI_REPORT_OFF);
        if (isset($db_location[1])) {
            $this->db_id = mysqli_connect($db_location[0], $db_user, $db_pass, $db_name, $db_location[1]);
        } else {
            $this->db_id = mysqli_connect($db_location[0], $db_user, $db_pass, $db_name);
        }
        $this->query_list[] = array('query' => 'Connection with MySQL Server', 'time' => ($this->get_real_time() - $time_before), 'num' => 0);
        if (!$this->db_id) {
            if ($show_error == 1) {
                $this->display_error(mysqli_connect_error(), '1');
            } else {
                $this->query_errors_list[] = array('error' => mysqli_connect_error());
                return false;
            }
        }
        $res = $this->super_query("SELECT VERSION() AS `version`", false, false, false);
        $this->mysql_version = $res['version'];
        if (version_compare($this->mysql_version, '5.5.3', '<')) {
            die("Datalife Engine required MySQL version 5.5.3 or greater. You need upgrade MySQL version on your server.");
        }
        mysqli_set_charset($this->db_id, COLLATE);
        mysqli_query($this->db_id, "SET NAMES '" . COLLATE . "'", false);
        $this->sql_mode();
        return true;
    }


 

А што конкертно менять поможете мне?
Мне надо добавить дополнительний параметр для класса db? Или изменить уже сушествуюший параметер?

Может так?

class db{
 var $mysqli -> ssl_set("key.pem", "cert.pem", "cacert.pem", NULL, NULL);
}

 

Изменено пользователем wfresno
Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, wfresno сказал:

А што конкертно менять поможете мне?

Я не пишу модификаций скрипта на заказ, поэтому готового решения я вам предоставить к сожалению не могу. Смотрите примеры реализации https://www.w3schools.com/php/func_mysqli_ssl_set.asp

7 часов назад, wfresno сказал:

Мне надо добавить дополнительний параметр для класса db? Или изменить уже сушествуюший параметер?

Менять нужно в существующем классе.

  • Спасибо 1
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...