栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

通过PHP从SSL连接到远程MySQL服务器

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过PHP从SSL连接到远程MySQL服务器

“不幸的是,我不能使用mysqli lib,因为pdo_mysql有太多可用的适配器。”

您正在使用旧的MySQL扩展(“
mysql_connect”),该扩展已不再开发(仅维护)。由于您使用的是PHP
5,因此您可能要使用MySQLi(MySQL 改进的
扩展)。除其他外,它具有面向对象的界面,支持准备/多个语句,并具有增强的调试功能。您可以在此处阅读有关转换为MySQLi的更多信息;更多关于mysqli类本身的信息。


以下是一些示例代码,可以帮助您入门:

<?phpini_set ('error_reporting', E_ALL);ini_set ('display_errors', '1');error_reporting (E_ALL|E_STRICT);$db = mysqli_init();mysqli_options ($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);$db->ssl_set('/etc/mysql/ssl/client-key.pem', '/etc/mysql/ssl/client-cert.pem', '/etc/mysql/ssl/ca-cert.pem', NULL, NULL);$link = mysqli_real_connect ($db, 'ip', 'user', 'pass', 'db', 3306, NULL, MYSQLI_CLIENT_SSL);if (!$link){    die ('Connect error (' . mysqli_connect_errno() . '): ' . mysqli_connect_error() . "n");} else {    $res = $db->query('SHOW TABLES;');    print_r ($res);    $db->close();}?>

如果确实需要PDO_MYSQL,则需要执行以下操作:

<?php$pdo = new PDO('mysql:host=ip;dbname=db', 'user', 'pass', array(    PDO::MYSQL_ATTR_SSL_KEY    =>'/etc/mysql/ssl/client-key.pem',    PDO::MYSQL_ATTR_SSL_CERT=>'/etc/mysql/ssl/client-cert.pem',    PDO::MYSQL_ATTR_SSL_CA    =>'/etc/mysql/ssl/ca-cert.pem'    ));$statement = $pdo->query("SHOW TABLES;");$row = $statement->fetch(PDO::FETCH_ASSOC);echo htmlentities($row['_message']);?>

但是,只有最新版本的PHP具有对PDO的SSL支持,并且(至少)在版本5.3.8中默认忽略了SSL选项:请参阅错误报告。

祝好运!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/400673.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号