คู่มือ PHP Connection to MongoDB สำหรับ ฐานข้อมูล
คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี
ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง
คำสั่ง ชื่อเมนู พารามิเตอร์ และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง
MongoDBเป็นฐานข้อมูล NoSQL ที่ใช้กันอย่างแพร่หลายนำไปใช้งานตามโมเดลเชิงเอกสารและมีไว้สำหรับจัดเก็บข้อมูลกึ่งโครงสร้างคำแนะนำด้านล่างให้คำแนะนำเกี่ยวกับวิธีการใช้งานชุดรวมกับแอป PHP ของคุณที่โฮสต์ภายในแพลตฟอร์มได้อย่างง่ายดาย
สร้าง Environment
เข้าสู่ระบบบัญชีแพลตฟอร์มของคุณและสร้างEnvironment ใหม่ด้วยMongoDBNode ของเวอร์ชันที่ต้องการ (สามารถพบได้ในNoSQLส่วนตัวช่วยสร้าง)
เพิ่มกรณีที่จำเป็นที่เหลือทั้งหมด (ถ้ามี - เราจะรวมไว้ด้วยอาปาเช่เพื่อปรับใช้แอปทดสอบในภายหลังอย่างไรก็ตามอาจอยู่ใน Environment ที่แยกต่างหากเช่นกัน) และกำหนดค่าพารามิเตอร์ที่จำเป็นอื่นๆเช่นจำนวนทรัพยากรภูมิภาคชื่อ Environment ฯลฯ
คลิกที่สร้างเมื่อพร้อมและรอสองสามนาทีเพื่อตั้งค่า Environment ของคุณ
การกำหนดค่า MongoDB
- กรอกกล่องอีเมลของคุณและค้นหาจดหมายซึ่งมีรายละเอียดอินสแตนซ์ MongoDB และข้อมูลการเข้าถึง:
2. ที่นี่คลิกที่URL การเข้าถึงลิงค์หรือสลับไปที่แดชบอร์ดและเปิดในเบราว์เซอร์ของคุณMongoDBNode
ในแท็บเบราว์เซอร์ที่เปิดอยู่คุณจะเห็นเข้าสู่ระบบแบบฟอร์มสำหรับแผงผู้ดูแลระบบ MongoDB ป้อนข้อมูลรับรองผู้ดูแลระบบที่คุณได้รับภายในอีเมลข้างต้นแล้วคลิกเข้าสู่ระบบเพื่อเข้าถึงมัน
- ตอนนี้เรามาสร้างฐานข้อมูลแยกต่างหากเพื่อสร้างการเชื่อมต่อกันเพื่อสิ่งนั้นให้เปลี่ยนไปที่ฐานข้อมูลแท็บและระบุกชื่อสำหรับมันภายในสร้างฐานข้อมูลส่วน (เช่นmongodb-เชื่อมต่อ).
คลิกบันทึกเพื่อดำเนินการต่อ 4. ขั้นตอนต่อไปคือการสร้างผู้ใช้ DB แยกต่างหากสำหรับการทำงานกับฐานข้อมูลที่เพิ่มใหม่ของเราดังนั้นให้เปลี่ยนไปที่ดำเนินการแท็บและวางคำสั่งต่อไปนี้ลงในช่องป้อนข้อมูลที่แสดง:
db.createUser({ ผู้ใช้: “ชื่อผู้ใช้”, แจ้ง: “รหัสผ่าน”, บทบาท:[{ บทบาท: “readWrite”, db: “db_name”}]})
ที่ไหน
- ชื่อผู้ใช้- ชื่อสำหรับผู้ใช้ DB ใหม่ของคุณ
- รหัสผ่าน- รหัสผ่านสำหรับผู้ใช้รายนี้
- db_name- ฐานข้อมูล (แนะนำอันที่สร้างขึ้นข้างต้น) ผู้ใช้รายนี้จะมีอ่าน/เขียนสิทธิ์สำหรับ
จากนั้นเลือกฐานข้อมูลที่เกี่ยวข้องโดยใช้รายการแบบเลื่อนลงด้านล่างและดำเนินการคำสั่งที่ระบุด้วยปุ่มชื่อเดียวกันคุณจะได้รับการตอบกลับว่าสำเร็จภายในเวลาเพียงไม่กี่วินาที
- ตอนนี้คุณต้องเปิดใช้งานไดรเวอร์การเชื่อมต่อเฉพาะเพื่อเปิดใช้งานการโต้ตอบระหว่างเซิร์ฟเวอร์แอปของคุณกับ MongoDB ที่แพลตฟอร์มจะรวมอยู่ในบิลด์เซิร์ฟเวอร์แอป PHP ทั้งหมดตามค่าเริ่มต้นมีไดรเวอร์สองเวอร์ชันสำหรับเซิร์ฟเวอร์แอป PHP ที่สร้างขึ้นใหม่ทั้งหมด:
- mongo.so(ถือว่าเลิกใช้แล้ว)
- mongodb.so
เคล็ดลับ:ส่วนขยายทั้งสองนี้ใช้ API ที่แตกต่างกันเราขอแนะนำให้ใช้โมดูลเดิมเพื่อให้แอปพลิเคชันเก่าทำงานต่อไปและใช้โมดูลล่าสุดสำหรับโครงการใหม่
ดังนั้นเพื่อเปิดใช้งานไดรเวอร์ที่จำเป็นให้กลับไปที่แดชบอร์ดของคุณวางเมาส์เหนือ Node คอมพิวเตอร์ใน Environment ของคุณและคลิกที่ที่ปรากฏการกำหนดค่าปุ่ม.
- ภายในแท็บตัวจัดการการกำหนดค่าที่เปิดอยู่ให้ขยายฯลฯโฟลเดอร์และเลือกไฟล์php.iniไฟล์อยู่ข้างใน
เลื่อนลงไปประมาณ483บรรทัดและยกเลิกการใส่เครื่องหมายข้อคิดเห็นสตริงด้วยไดรเวอร์ที่จำเป็น (อย่างใดอย่างหนึ่งmongo.soหรือmongodb.soส่วนขยาย) โดยการเอาเครื่องหมายอัฒภาคที่จุดเริ่มต้นออก
- บันทึกการเปลี่ยนแปลงที่ดำเนินการและรีสตาร์ทNode เซิร์ฟเวอร์แอปของคุณเพื่อนำไปใช้
การ 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) โปรดใช้แอปพลิเคชันทดสอบนี้ขั้นตอนการทำงานจะคล้ายกับที่อธิบายไว้ด้านล่าง
ดังนั้นคุณจะได้รับ Environment ที่คล้ายคลึงกับที่แสดงด้านบน
ตรวจสอบการเชื่อมต่อ
- เปิดEnvironment ของคุณในเบราว์เซอร์ด้วยปุ่มชื่อเดียวกัน - คุณจะเห็นแบบฟอร์มง่ายๆสำหรับป้อนรายละเอียดฐานข้อมูล MongoDB ของคุณ
- เจ้าภาพ- เชื่อมโยงไปยังแผงผู้ดูแลระบบฐานข้อมูลของคุณโดยไม่ต้องhttps://ส่วนหนึ่ง (สามารถพบได้ในอีเมลที่เกี่ยวข้องหรือเพียงคัดลอกจากแถบที่อยู่ของเบราว์เซอร์หลังจากคลิกเปิดในเบราว์เซอร์สำหรับคุณMongoDBNode)
- ผู้ใช้- ชื่อของผู้ใช้ที่คุณกำหนดให้กับฐานข้อมูล (ดีบัสเซอร์ในกรณีของเรา)
- รหัสผ่าน- รหัสผ่านสำหรับผู้ใช้ที่ระบุในช่องก่อนหน้า
- ฐานข้อมูล- ชื่อของฐานข้อมูลที่ต้องการ (mongodb-เชื่อมต่อในกรณีของเรา)
หลังจากป้อนข้อมูลลงในช่องที่เกี่ยวข้องแล้วให้คลิกที่ทดสอบฉัน!ปุ่ม.
- หากข้อมูลที่ระบุถูกต้องข้อความ Good Connection จะแสดงขึ้นมา
มิฉะนั้นคุณจะได้รับการแจ้งเตือนว่าการเชื่อมต่อของคุณใช้งานไม่ได้และผลลัพธ์โดยละเอียดของข้อผิดพลาดที่เกิดจากสิ่งนี้
- นอกจากนี้เมื่อสร้างการเชื่อมต่อที่ประสบความสำเร็จแล้วใหม่phptest.phpคอลเลกชันที่มีบันทึกใหม่ภายในจะถูกเพิ่มลงในฐานข้อมูลที่ระบุ
ดังนั้นคุณสามารถไปที่แผงผู้ดูแลระบบของ DB ของคุณเพื่อให้แน่ใจว่าทุกอย่างทำงานได้อย่างถูกต้องและดำเนินการดำเนินการอื่นๆที่จำเป็นต่อไป
มีประโยชน์ที่จะรู้
ศูนย์นักพัฒนาแพลตฟอร์มยังมีคำแนะนำ MongoDB ที่เฉพาะเจาะจงมากขึ้นจำนวนหนึ่งซึ่งอาจมีประโยชน์สำหรับงานต่างๆที่หลากหลาย:
- กำหนดค่าชุดแบบจำลองด้วยจำนวน Node MongoDB ที่ไม่สม่ำเสมอเพื่อใช้งานการจำลองแบบมาสเตอร์-สเลฟและ Failover อัตโนมัติพร้อมกัน
- เพิ่มความปลอดภัยของข้อมูลของคุณผ่านการตั้งค่าการกำหนดการสำรองข้อมูลซึ่งอาจป้องกันข้อมูลสูญหายหรือลดผลที่ตามมา (ผ่านการกู้คืน) หากเกิดความล้มเหลวของเซิร์ฟเวอร์ที่ไม่คาดคิด
- ใช้การเข้าถึงระยะไกลตัวเลือกสำหรับการทำงานกับฐานข้อมูลของคุณโดยตรงผ่านแอปพลิเคชันไคลเอนต์ที่ต้องการไม่จำเป็นต้องลงชื่อเข้าใช้แดชบอร์ดของเรา
- ตรวจสอบวิธีการนำเข้าและส่งออกการถ่ายโอนข้อมูลไฟล์โดยใช้ไคลเอ็นต์การจัดการฐานข้อมูลแบบ inbuilt หรือ 3d-party เพื่อการสำรองข้อมูลของคุณได้อย่างง่ายดาย

