У меня есть база данных MySQL, размещенная на удаленном сервере, и она может принимать только SSL-соединения. Когда я подключаюсь к этой базе данных, используя Java JDBC с параметрами SSL, она работает нормально. Существует специальная строка jdbc, которую я использую для соединения JDBC, как показано ниже
"JDBC: MySQL: //: / verifyServerCertificate = ложь и UseSSL = истина и RequireSSL = истина"
Мне нужно использовать подобное соединение через PHP с использованием библиотеки ADODB.
Я нашел несколько ссылок в Интернете об использовании расширения ADODB mysqli
(ссылка http://mbrisby.blogspot.com/2008/06/adodb-php-mysql-ssl.html)
После создания сертификата CA (скажем, он находится в /path/to/ca-cert.pem), убедитесь, что следующий элемент находится в разделе [client] файла /etc/my.cnf или в соединяющем ~ / .my.cnf пользователя на клиентском хосте:
SSL-са = / путь / к / ча-cert.pem
Затем попробуйте следующую программу PHP:
// они являются частью библиотеки AdoDB
require '/path/to/adodb-exceptions.inc.php';
require '/path/to/adodb.inc.php';
/ *
* Я получил «2048» от бега
* printf ("% d \ n", MYSQLI_CLIENT_SSL)
* в программе PHP (с установленным расширением mysqli)
* /
$ dsn = 'mysqli: // ssluser: sslpass @ dbhost / test? clientflags = 2048';
$ dbh = NewADOConnection ($ dsn);
$ sql = "показать статус как 'ssl_cipher'";
$ res = & $ dbh-> Execute ($ sql);
print_r ($ res-> fields);
$ Res-> Close ();
$ dbh-> Close ();
Нужна ли мне информация о сертификате, если я подключаюсь с другого компьютера к этой базе данных mysql?
Есть ли что-то похожее на строку JDBC для PHP?
Было бы замечательно, если бы кто-нибудь мог опубликовать рабочий пример
Спасибо