Я только что попробовал MeekroDB 3.1.3 сегодня (сервер под управлением PHP 8.2.26)
Я могу прекрасно подключиться к моему локальному хосту MySQL, используя Meekrdob (который не требует сертификата SSL), то есть MySQL, который предоставляет мой веб-хост. Все работает нормально!
Я пытаюсь подключиться к внешнему MySQL Azure, т. е. к серверу, размещенному Microsoft, а не к моему веб-хосту. (К которому я могу нормально подключиться через MySQL Workbench и напрямую через PHP PDO, с SSL), но не могу понять, почему MeekroDB не работает...
Мой PHP включает< /p>
Код: Выделить всё
require_once 'db.class.php'
Код: Выделить всё
$certloc = CERTIFICATES . 'DigiCertGlobalRootCA.crt.pem';
$myhost = 'MYSERVER.mysql.database.azure.com';
$myport = '3306';
$mydbName = 'MYDB';
$myuser = 'MYUSER';
$mypassword = 'MYPASSWORD';
Код: Выделить всё
$options = array( PDO::MYSQL_ATTR_SSL_CA => $certloc );
$db = new PDO('mysql:host=' . $myhost . ';port=' . $myport . ';dbname=' . $mydbName, $myuser, $mypassword, $options);
$query = 'SELECT * FROM TheTable';
$stmt = $db->prepare($query);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
Код: Выделить всё
DB::$host = $myhost;
DB::$port = $myport;
DB::$dbName = $mydbName;
DB::$user = $myuser;
DB::$password = $mypassword;
$connect_options = [ PDO::MYSQL_ATTR_SSL_CA => $certloc ];
DB::$connect_options = $connect_options;
DB::query("SELECT * FROM TheTable");
Код: Выделить всё
Fatal error: Uncaught MeekroDBException: Unable to connect to MySQL server!
Значит, это как-то связано с SSL и MeekroDB. ...
Есть ли у кого-нибудь какие-нибудь идеи?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ertificate
Мобильная версия