PHP から SSL を使用してリモート MySQL サーバーに接続する
PHP から SSL を使用してリモート MySQL サーバーに接続することは、特に古い mysql_connect 関数。この課題を克服するには、拡張機能と SSL サポートを提供する MySQL Enhanced Extension (MySQLi) を利用することをお勧めします。
MySQLi の使用
次の PHP コードは、次のことを示しています。 MySQLi を使用して SSL 暗号化接続を確立する方法:
ini_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 SSL サポート
SSL で PDO_MYSQL を使用するには、SSL をサポートする最新の PHP バージョンが必要です。 5.3.8 より前のバージョンでは、SSL オプションは無視されます。ただし、次のコード サンプルは、PDO_MYSQL を使用した SSL 構成を示しています。
$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']);
これらの手順に従い、提供されたコードを特定の環境に適合させることで、SSL を使用してリモート MySQL サーバーへの安全な接続を正常に確立できます。 PHP.
以上がPHP で SSL を使用してリモート MySQL サーバーに安全に接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。