ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บนแพลตฟอร์ม

RUK-COM PAAS / DATABASES

คู่มือ PHP Connection to MongoDB สำหรับ ฐานข้อมูล

คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี

ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง

คู่มือภาษาไทย

คำสั่ง ชื่อเมนู พารามิเตอร์ และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง

MongoDBเป็นฐานข้อมูล NoSQL ที่ใช้กันอย่างแพร่หลายนำไปใช้งานตามโมเดลเชิงเอกสารและมีไว้สำหรับจัดเก็บข้อมูลกึ่งโครงสร้างคำแนะนำด้านล่างให้คำแนะนำเกี่ยวกับวิธีการใช้งานชุดรวมกับแอป PHP ของคุณที่โฮสต์ภายในแพลตฟอร์มได้อย่างง่ายดาย

สร้าง Environment

เข้าสู่ระบบบัญชีแพลตฟอร์มของคุณและสร้างEnvironment ใหม่ด้วยMongoDBNode ของเวอร์ชันที่ต้องการ (สามารถพบได้ในNoSQLส่วนตัวช่วยสร้าง)

Image 26: create mongodb environmentเพิ่มกรณีที่จำเป็นที่เหลือทั้งหมด (ถ้ามี - เราจะรวมไว้ด้วยอาปาเช่เพื่อปรับใช้แอปทดสอบในภายหลังอย่างไรก็ตามอาจอยู่ใน Environment ที่แยกต่างหากเช่นกัน) และกำหนดค่าพารามิเตอร์ที่จำเป็นอื่นๆเช่นจำนวนทรัพยากรภูมิภาคชื่อ Environment ฯลฯ

คลิกที่สร้างเมื่อพร้อมและรอสองสามนาทีเพื่อตั้งค่า Environment ของคุณ

การกำหนดค่า MongoDB

  1. กรอกกล่องอีเมลของคุณและค้นหาจดหมายซึ่งมีรายละเอียดอินสแตนซ์ MongoDB และข้อมูลการเข้าถึง:

Image 28: email mongo credentials2. ที่นี่คลิกที่URL การเข้าถึงลิงค์หรือสลับไปที่แดชบอร์ดและเปิดในเบราว์เซอร์ของคุณMongoDBNode

Image 29: mongo admin panel log inในแท็บเบราว์เซอร์ที่เปิดอยู่คุณจะเห็นเข้าสู่ระบบแบบฟอร์มสำหรับแผงผู้ดูแลระบบ MongoDB ป้อนข้อมูลรับรองผู้ดูแลระบบที่คุณได้รับภายในอีเมลข้างต้นแล้วคลิกเข้าสู่ระบบเพื่อเข้าถึงมัน

  1. ตอนนี้เรามาสร้างฐานข้อมูลแยกต่างหากเพื่อสร้างการเชื่อมต่อกันเพื่อสิ่งนั้นให้เปลี่ยนไปที่ฐานข้อมูลแท็บและระบุกชื่อสำหรับมันภายในสร้างฐานข้อมูลส่วน (เช่นmongodb-เชื่อมต่อ).

Image 30: create databaseคลิกบันทึกเพื่อดำเนินการต่อ 4. ขั้นตอนต่อไปคือการสร้างผู้ใช้ DB แยกต่างหากสำหรับการทำงานกับฐานข้อมูลที่เพิ่มใหม่ของเราดังนั้นให้เปลี่ยนไปที่ดำเนินการแท็บและวางคำสั่งต่อไปนี้ลงในช่องป้อนข้อมูลที่แสดง:

db.createUser({ ผู้ใช้: “ชื่อผู้ใช้”, แจ้ง: “รหัสผ่าน”, บทบาท:[{ บทบาท: “readWrite”, db: “db_name”}]})

ที่ไหน

  • ชื่อผู้ใช้- ชื่อสำหรับผู้ใช้ DB ใหม่ของคุณ
  • รหัสผ่าน- รหัสผ่านสำหรับผู้ใช้รายนี้
  • db_name- ฐานข้อมูล (แนะนำอันที่สร้างขึ้นข้างต้น) ผู้ใช้รายนี้จะมีอ่าน/เขียนสิทธิ์สำหรับ

Image 31: execute commandจากนั้นเลือกฐานข้อมูลที่เกี่ยวข้องโดยใช้รายการแบบเลื่อนลงด้านล่างและดำเนินการคำสั่งที่ระบุด้วยปุ่มชื่อเดียวกันคุณจะได้รับการตอบกลับว่าสำเร็จภายในเวลาเพียงไม่กี่วินาที

  1. ตอนนี้คุณต้องเปิดใช้งานไดรเวอร์การเชื่อมต่อเฉพาะเพื่อเปิดใช้งานการโต้ตอบระหว่างเซิร์ฟเวอร์แอปของคุณกับ MongoDB ที่แพลตฟอร์มจะรวมอยู่ในบิลด์เซิร์ฟเวอร์แอป PHP ทั้งหมดตามค่าเริ่มต้นมีไดรเวอร์สองเวอร์ชันสำหรับเซิร์ฟเวอร์แอป PHP ที่สร้างขึ้นใหม่ทั้งหมด:
  • mongo.so(ถือว่าเลิกใช้แล้ว)
  • mongodb.so

เคล็ดลับ:ส่วนขยายทั้งสองนี้ใช้ API ที่แตกต่างกันเราขอแนะนำให้ใช้โมดูลเดิมเพื่อให้แอปพลิเคชันเก่าทำงานต่อไปและใช้โมดูลล่าสุดสำหรับโครงการใหม่

Image 32: environment node configดังนั้นเพื่อเปิดใช้งานไดรเวอร์ที่จำเป็นให้กลับไปที่แดชบอร์ดของคุณวางเมาส์เหนือ Node คอมพิวเตอร์ใน Environment ของคุณและคลิกที่ที่ปรากฏการกำหนดค่าปุ่ม.

  1. ภายในแท็บตัวจัดการการกำหนดค่าที่เปิดอยู่ให้ขยายฯลฯโฟลเดอร์และเลือกไฟล์php.iniไฟล์อยู่ข้างใน

Image 33: phpini mongo driverเลื่อนลงไปประมาณ483บรรทัดและยกเลิกการใส่เครื่องหมายข้อคิดเห็นสตริงด้วยไดรเวอร์ที่จำเป็น (อย่างใดอย่างหนึ่งmongo.soหรือmongodb.soส่วนขยาย) โดยการเอาเครื่องหมายอัฒภาคที่จุดเริ่มต้นออก

  1. บันทึกการเปลี่ยนแปลงที่ดำเนินการและรีสตาร์ทNode เซิร์ฟเวอร์แอปของคุณเพื่อนำไปใช้

Image 34: restart application server

การ Deploy แอปพลิเคชัน

ตอนนี้คุณสามารถดำเนินการ Deploy แอปพลิเคชันใน Environment ที่คุณเพิ่งเตรียมไว้โดยใช้แพลตฟอร์มได้ผู้จัดการฝ่ายปรับใช้(สำหรับโปรเจ็กต์บรรจุไว้ในไฟล์เก็บถาวรเดียวหรือดึงข้อมูลจาก repo GIT/SVN โดยตรง)

ตามตัวอย่างเราจะใช้แอปง่ายๆต่อไปนี้ซึ่งออกแบบมาเพื่อตรวจสอบการสร้างการเชื่อมต่อระหว่าง Node คอมพิวเตอร์ที่เกี่ยวข้องและ Node ที่ระบุMongoDBเซิร์ฟเวอร์โดยวิธีหลังmongodb.soส่วนขยาย.

ดัชนี.php

คัดลอก HTML

<html>

<head>
 <title>Test MongoDB Connection</title>
</head>

<body>
 <h1>Test MongoDB Connection</h1>
<form action="#" name="form" method="POST">
  <table cellspacing="10">
    <tr><td>Host</td><td><input type="text" name="host" value="<?php echo htmlspecialchars($_POST['host']); ?>" size="40"></td></tr>
      <tr><td>User</td><td><input type="text" name="username" value="<?php echo htmlspecialchars($_POST['username']); ?>" size="20"></td></tr>
    <tr><td>Password</td><td><input type="text" name="password" value="<?php echo htmlspecialchars($_POST['password']); ?>" size="20"></td></tr>
    <tr><td>Database</td><td><input type="text" name="database" value="<?php echo htmlspecialchars($_POST['database']); ?>" size="20"></td></tr>
    <tr></tr>
    <tr><td> </td><td><input type="submit" name="sub" value="Test Me!"></td></tr>
  </table>
</form>

<?php
if (@$_POST['sub']){
 $host=$_POST['host'];
 $username=$_POST['username'];
 $password=$_POST['password'];
 $userdb=$_POST['database'];
 $database=$userdb.".phptest";

  try{
    $manager = new MongoDB\Driver\Manager("mongodb://{$host}/{$userdb}", array("username" => $username, "password" => $password));
       if ($manager) {
        $bulk = new MongoDB\Driver\BulkWrite;
        $bulk->insert(['x' => 1]);
        $bulk->insert(['x' => 2]);
        $bulk->insert(['x' => 3]);
        $manager->executeBulkWrite($database, $bulk);

        $filter = ['x' => ['$gt' => 1]];
        $options = [
            'projection' => ['_id' => 0],
            'sort' => ['x' => -1],
        ];

        $query = new MongoDB\Driver\Query($filter, $options);
        $cursor = $manager->executeQuery($database, $query);
            }
  }catch(Exception $e){
      echo  "<center><h1>Doesn't work</h1></center>";
    print_r($e);
           exit;
  }
}

if ($host)
 echo "<center><h1>Good connection</h1></center>";

?>

</body>
</html>

ดังนั้นหากคุณต้องการทดสอบการเชื่อมต่อเพียงดาวน์โหลดแพ็คเกจที่ห่อไว้แล้วพร้อมกับโปรเจ็กต์ดังที่แสดงด้านบนและปรับใช้

เคล็ดลับ:สำหรับเวอร์ชันไดรเวอร์รุ่นเก่า (เช่นmongo.so) โปรดใช้แอปพลิเคชันทดสอบนี้ขั้นตอนการทำงานจะคล้ายกับที่อธิบายไว้ด้านล่าง

Image 36: application deployedดังนั้นคุณจะได้รับ Environment ที่คล้ายคลึงกับที่แสดงด้านบน

ตรวจสอบการเชื่อมต่อ

  1. เปิดEnvironment ของคุณในเบราว์เซอร์ด้วยปุ่มชื่อเดียวกัน - คุณจะเห็นแบบฟอร์มง่ายๆสำหรับป้อนรายละเอียดฐานข้อมูล MongoDB ของคุณ

Image 38: mongodb connection applicationควรระบุค่าต่อไปนี้:

  • เจ้าภาพ- เชื่อมโยงไปยังแผงผู้ดูแลระบบฐานข้อมูลของคุณโดยไม่ต้องhttps://ส่วนหนึ่ง (สามารถพบได้ในอีเมลที่เกี่ยวข้องหรือเพียงคัดลอกจากแถบที่อยู่ของเบราว์เซอร์หลังจากคลิกเปิดในเบราว์เซอร์สำหรับคุณMongoDBNode)
  • ผู้ใช้- ชื่อของผู้ใช้ที่คุณกำหนดให้กับฐานข้อมูล (ดีบัสเซอร์ในกรณีของเรา)
  • รหัสผ่าน- รหัสผ่านสำหรับผู้ใช้ที่ระบุในช่องก่อนหน้า
  • ฐานข้อมูล- ชื่อของฐานข้อมูลที่ต้องการ (mongodb-เชื่อมต่อในกรณีของเรา)

หลังจากป้อนข้อมูลลงในช่องที่เกี่ยวข้องแล้วให้คลิกที่ทดสอบฉัน!ปุ่ม.

  1. หากข้อมูลที่ระบุถูกต้องข้อความ Good Connection จะแสดงขึ้นมา

Image 39: good connectionมิฉะนั้นคุณจะได้รับการแจ้งเตือนว่าการเชื่อมต่อของคุณใช้งานไม่ได้และผลลัพธ์โดยละเอียดของข้อผิดพลาดที่เกิดจากสิ่งนี้

  1. นอกจากนี้เมื่อสร้างการเชื่อมต่อที่ประสบความสำเร็จแล้วใหม่phptest.phpคอลเลกชันที่มีบันทึกใหม่ภายในจะถูกเพิ่มลงในฐานข้อมูลที่ระบุ

Image 40: check phptest collectionดังนั้นคุณสามารถไปที่แผงผู้ดูแลระบบของ DB ของคุณเพื่อให้แน่ใจว่าทุกอย่างทำงานได้อย่างถูกต้องและดำเนินการดำเนินการอื่นๆที่จำเป็นต่อไป

มีประโยชน์ที่จะรู้

ศูนย์นักพัฒนาแพลตฟอร์มยังมีคำแนะนำ MongoDB ที่เฉพาะเจาะจงมากขึ้นจำนวนหนึ่งซึ่งอาจมีประโยชน์สำหรับงานต่างๆที่หลากหลาย:

  • กำหนดค่าชุดแบบจำลองด้วยจำนวน Node MongoDB ที่ไม่สม่ำเสมอเพื่อใช้งานการจำลองแบบมาสเตอร์-สเลฟและ Failover อัตโนมัติพร้อมกัน
  • เพิ่มความปลอดภัยของข้อมูลของคุณผ่านการตั้งค่าการกำหนดการสำรองข้อมูลซึ่งอาจป้องกันข้อมูลสูญหายหรือลดผลที่ตามมา (ผ่านการกู้คืน) หากเกิดความล้มเหลวของเซิร์ฟเวอร์ที่ไม่คาดคิด
  • ใช้การเข้าถึงระยะไกลตัวเลือกสำหรับการทำงานกับฐานข้อมูลของคุณโดยตรงผ่านแอปพลิเคชันไคลเอนต์ที่ต้องการไม่จำเป็นต้องลงชื่อเข้าใช้แดชบอร์ดของเรา
  • ตรวจสอบวิธีการนำเข้าและส่งออกการถ่ายโอนข้อมูลไฟล์โดยใช้ไคลเอ็นต์การจัดการฐานข้อมูลแบบ inbuilt หรือ 3d-party เพื่อการสำรองข้อมูลของคุณได้อย่างง่ายดาย