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

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

RUK-COM PAAS / DATABASES

คู่มือ PHP Connection to MongoDB สำหรับ Database

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

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

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

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

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

สร้าง Environment

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

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

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

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

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

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

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

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

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

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

ที่ไหน

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

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

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

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

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

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

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

  1. บันทึกการเปลี่ยนแปลงที่ดำเนินการและRestartNode Server แอปของคุณเพื่อนำไปใช้

Image 34: restart application server

การ Deploy Application

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

ตามตัวอย่างเราจะใช้แอปง่ายๆต่อไปนี้ซึ่งออกแบบมาเพื่อตรวจสอบการสร้างการเชื่อมต่อระหว่าง Node คอมพิวเตอร์ที่เกี่ยวข้องและ Node ที่ระบุMongoDBServer โดยวิธีหลัง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>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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