Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP से SSL के साथ दूरस्थ MySQL सर्वर से कनेक्ट करें

<ब्लॉककोट>

"दुर्भाग्य से मैं mysqli lib का उपयोग नहीं कर सकता क्योंकि pdo_mysql के लिए बहुत अधिक काम करने वाले एडेप्टर हैं।"

आप पुराने MySQL एक्सटेंशन ("mysql_connect") का उपयोग कर रहे हैं, जो अब विकास के अधीन नहीं है (केवल रखरखाव ) चूंकि आप PHP 5 का उपयोग कर रहे हैं, आप MySQLi का उपयोग करना चाह सकते हैं। , MySQL बेहतर विस्तार। अन्य बातों के अलावा, इसमें एक ऑब्जेक्ट-ओरिएंटेड इंटरफ़ेस है, तैयार/एकाधिक कथनों के लिए समर्थन और डिबगिंग क्षमताओं को बढ़ाया है। आप MySQLi में कनवर्ट करने के बारे में अधिक पढ़ सकते हैं यहां ; mysqli वर्ग के बारे में अधिक यहां

यहां कुछ नमूना कोड दिए गए हैं जो आरंभ करने में आपकी सहायता कर सकते हैं:

<?php
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 वास्तव में आप क्या चाहते हैं, तो आपको ऐसा कुछ करने की ज़रूरत है:

<?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 के केवल हाल के संस्करणों में पीडीओ के लिए एसएसएल समर्थन है, और एसएसएल विकल्पों को (कम से कम) संस्करण 5.3.8 में चुपचाप अनदेखा किया जाता है:देखें बग रिपोर्ट

शुभकामनाएँ!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पीडीओ तालिका से एक कॉलम को 1-आयामी सरणी में लाता है

  2. PHP, MySQL त्रुटि:कॉलम संख्या पंक्ति 1 पर मान गणना से मेल नहीं खाती

  3. रिपोर्ट में दो तालिकाओं से क्वेरी

  4. वचर और चार में क्या अंतर है?

  5. मैं आईडी का उपयोग करके एकाधिक SQL तालिकाओं में कैसे शामिल हो सकता हूं?