Truy cập nhanh
- Tìm một người bạn đồng hành
- Đăng ký Chương trình Đối tác OVHcloud
- Đăng ký Chương trình Khởi động OVHcloud
- So sánh giá
- Cổng đối tác
- Câu hỏi thường gặp Chương trình đối tác
- Quay lại trình đơn
Về
Về- Chúng ta là ai
- Tin tức
- trung tâm dữ liệu của chúng tôi
- Tham gia cuộc phiêu lưu OVHcloud
- Cam kết bằng sáng chế
- Hợp pháp
Truy cập nhanh
- Thông tin thêm về OVHcloud
- Quan hệ đầu tư
- Tài liệu và Hướng dẫn
- Đám mây công cộng
- cơ sở dữ liệu
- MongoDB - Kết nối với PHP
MongoDB - Kết nối với PHP
Kết nối với Cơ sở dữ liệu đám mây công cộng của bạn cho MongoDB bằng ngôn ngữ lập trình PHP
Đóng góp
Chia sẻ
Twitter Facebook LinkedIn
In
Cập nhật lần cuối ngày 27 tháng 7 năm 2022
Khách quan
Cơ sở dữ liệu đám mây công cộng cho phép bạn tập trung vào việc xây dựng và triển khai các ứng dụng đám mây trong khi OVHcloud chăm sóc cơ sở hạ tầng cơ sở dữ liệu và bảo trì trong điều kiện hoạt động
Hướng dẫn này giải thích cách kết nối với phiên bản cơ sở dữ liệu MongoDB bằng một trong những ngôn ngữ lập trình nổi tiếng nhất thế giới. PHP
Bạn có thể tìm thấy một ví dụ trên kho lưu trữ ví dụ Github
Yêu cầu
- Dự án Đám mây Công cộng trong tài khoản OVHcloud của bạn
- Truy cập vào Bảng điều khiển OVHcloud
- Cơ sở dữ liệu MongoDB chạy trên Cơ sở dữ liệu đám mây công cộng OVHcloud của bạn (hướng dẫn này có thể giúp bạn đáp ứng yêu cầu này)
- Định cấu hình phiên bản MongoDB của bạn để chấp nhận các kết nối đến
- Môi trường PHP với phiên bản ổn định và kết nối mạng công cộng (Internet). Hướng dẫn này được thực hiện trong PHP 7. 4
Ý tưởng
Một phiên bản MongoDB có thể được quản lý theo nhiều cách. Một trong những cách dễ nhất nhưng mạnh mẽ nhất là sử dụng Giao diện dòng lệnh (CLI), như được hiển thị trong hướng dẫn của chúng tôi. Kết nối với MongoDB bằng CLI
Một cách khác là tương tác trực tiếp bằng ngôn ngữ lập trình, chẳng hạn như PHP. PHP được sử dụng trong gần 80% các trang web trên thế giới, chẳng hạn như Facebook, Wikipedia hay WordPress. MongoDB cung cấp trình điều khiển PHP, cho phép chúng tôi kết nối và quản lý phiên bản MongoDB từ mã
Để làm như vậy, chúng tôi sẽ cần thiết lập môi trường PHP với trình điều khiển MongoDB, sau đó định cấu hình Cơ sở dữ liệu đám mây công cộng của chúng tôi cho các phiên bản MongoDB để chấp nhận các kết nối đến và cuối cùng viết mã bằng PHP để thực hiện một số hành động ví dụ
Hướng dẫn
Thiết lập môi trường PHP của bạn
Để tương tác với phiên bản MongoDB của bạn bằng PHP, môi trường phát triển của bạn cần được cấu hình với
- Một phiên bản tương thích của PHP;
- Phần mở rộng MongoDB PHP;
- Khuyến khích mạnh mẽ. thư viện MongoDB PHP
Vui lòng theo dõi tài liệu MongoDB chính thức dành cho trình điều khiển PHP để nhận thông tin mới nhất
Ở cuối trang tài liệu, bạn sẽ tìm thấy ma trận tương thích giữa các phiên bản PHP, tiện ích mở rộng MongoDB và phiên bản thư viện. Thực hiện theo điều này cho phù hợp
Nếu bạn có thể tự chỉnh sửa môi trường PHP của mình, hãy cài đặt các tiện ích mở rộng và thư viện như được nêu chi tiết trong trang tài liệu này được liên kết ở trên
Ngược lại, nếu bạn hưởng lợi từ giải pháp lưu trữ web được quản lý, chẳng hạn như dịch vụ Lưu trữ web của OVHcloud, bạn cần kích hoạt phiên bản PHP phù hợp trên gói lưu trữ web của mình. Bạn có thể tìm thấy hướng dẫn về cách sửa đổi phiên bản PHP cho Dịch vụ lưu trữ web OVHcloud tại đây
Trong cả hai trường hợp, khi thực thi phpinfo() trong môi trường PHP của bạn, bạn sẽ thấy thông tin về trình điều khiển MongoDB như hình bên dưới
Bây giờ chúng ta sẽ làm theo tài liệu chính thức của MongoDB để thực hiện kết nối đầu tiên với PHP
Kết nối với PHP
Trong môi trường PHP của bạn, hãy thử kết nối. Để chắc chắn rằng chúng tôi thực sự được kết nối, chúng tôi sẽ kết xuất tất cả thông tin phiên bản MongoDB
Như được hiển thị trong mã, chúng tôi sử dụng MongoDB\Driver\Manager. Sử dụng tài liệu PHP chính thức cho tài liệu đầy đủ. https. //www. php. mạng/thủ công/vi/bộ. mongodb. php
<?php // PHP version 7.4 used here try { // connect to OVHcloud Public Cloud Databases for MongoDB (cluster in version 4.4, MongoDB PHP Extension in 1.8.1) $m = new MongoDB\Driver\Manager('mongodb+srv://<username>:<password>@mongodb-e49d02ee-o2626ab53.database.cloud.ovh.net/admin?replicaSet=replicaset'); echo "Connection to database successfully"; // display the content of the driver, for diagnosis purpose var_dump($m); } catch (Throwable $e) { // catch throwables when the connection is not a success echo "Captured Throwable for connection : " . $e->getMessage() . PHP_EOL; } ?>
Nếu bạn đã kết nối, kết quả của var_dump($m) sẽ như thế này
Object(MongoDB\Driver\Manager)#1 (2) { ["uri"]=> string(100) "mongodb+srv://<username>:<password>@mongodb-e49d02ee-o2626ab53.database.cloud.ovh.net/admin?replicaSet=replicaset" ["cluster"]=> array(1) { [0]=> array(10) { ["host"]=> string(45) "node1-e49d02ee-o2626ab53.database.cloud.ovh.net" ["port"]=> int(27017) ["type"]=> int(4) ["is_primary"]=> bool(true) ["is_secondary"]=> bool(false) (more data, cut for the example) } } }
Nếu var_dump($m) trống, bạn sẽ phải phân tích ma trận tương thích Môi trường PHP và MongoDB được liên kết trước đó và các vật ném được
- hết thời gian kết nối. thường là do ủy quyền IP không chính xác
- không gian tên không hợp lệ. URI dịch vụ bạn đã nhập có thể có lỗi đánh máy bên trong
Sau khi kết nối, bạn có thể thực hiện nhiều thao tác, ví dụ: chèn hàng loạt và tìm () bên trong bộ sưu tập
<?php try { // Bulk write inserts $bulk = new MongoDB\Driver\BulkWrite; $bulk->insert(['mydata' => 'alice']); $bulk->insert(['mydata' => 'bob']); $bulk->insert(['mydata' => 'bastien']); $m->executeBulkWrite('mydb.mycol', $bulk); $filter = ['mydata' => 'bob']; $options = []; // Query to find inserts in a specific collection $query = new MongoDB\Driver\Query($filter, $options); $cursor = $m->executeQuery('mydb.mycol', $query); foreach ($cursor as $document) { var_dump($document); } } catch (Throwable $e) { echo "Captured Throwable: for insert : " . $e->getMessage() . PHP_EOL; } ?>
Trong ví dụ này, chúng tôi chèn 3 đối tượng bên trong một bộ sưu tập có tên là mycol, sau đó chúng tôi thực hiện thao tác find() trong bộ sưu tập này, tìm kiếm tất cả các đối tượng có chứa "bob"
Kết quả ở đây là cho var_dump($document)
object(stdClass)#6 (2) { ["_id"]=> object(MongoDB\BSON\ObjectId)#7 (1) { ["oid"]=> string(24) "6139d5163d84c01fa93e2e53" } ["mydata"]=> string(3) "bob" }
Mã này đã tìm thấy chính xác một đối tượng chứa bob. Điều đó có nghĩa là ở đây chúng tôi đã có thể kết nối với phiên bản MongoDB, chèn dữ liệu và tìm kiếm dữ liệu này. Xin chúc mừng. Mọi thứ đều hoạt động bình thường
Các khung và công cụ PHP cho MongoDB
Viết mã PHP từ đầu để tương tác với một phiên bản MongoDB có thể rất thú vị và mang tính hướng dẫn. Nếu bạn quan tâm, bạn cũng có thể xem danh sách MongoDB PHP cho các thư viện, khung và công cụ. Họ thực sự có thể giúp bạn làm việc với PHP
Đi xa hơn
Khả năng của MongoDB
Định cấu hình vRack cho Đám mây công cộng
Ghé thăm kênh Discord chuyên dụng của chúng tôi. https. // bất hòa. gg/ovhcloud. Đặt câu hỏi, cung cấp phản hồi và tương tác trực tiếp với nhóm xây dựng các dịch vụ cơ sở dữ liệu của chúng tôi
Tham gia cộng đồng người dùng của chúng tôi trên https. //cộng đồng. ồ. com/vi/
Bạn có thấy hướng dẫn này hữu ích không?
có không
Vui lòng đưa ra bất kỳ đề xuất nào để cải thiện tài liệu này
Mọi phản hồi của bạn về hình ảnh, nội dung hay cấu trúc, hãy chia sẻ để chúng ta cùng nhau hoàn thiện