Đối với các nhà phát triển trình điều khiển và những người quan tâm đến các bản sửa lỗi mới nhất, bạn có thể biên dịch trình điều khiển từ mã nguồn mới nhất trên » Github. Truy cập Github và nhấp vào nút "tải xuống". Sau đó chạy
$ tar zxvf mongo-php-driver-legacy-.tar.gz $ cd mongo-php-driver-legacy- $ phpize $ ./configure $ make all $ sudo make install
Với Laravel, có trường hợp bạn sẽ gặp lỗi phần mở rộng PHP được yêu cầu MongoDB bị thiếu do lỗi hệ thống khi chạy các lệnh của nhà soạn nhạc
Lỗi từ Cập nhật nhà soạn nhạc
Lỗi trên cho thấy MongoDB chưa được cài đặt và nếu cài đặt thì tiện ích mở rộng không được thêm vào php. tập tin ini
Để kiểm tra nó, hãy chạy lệnh
php -m
Nó sẽ hiển thị tất cả các tiện ích mở rộng đã cài đặt cho PHP. Bạn sẽ nhận thấy rằng không có tiện ích mở rộng MongoDB nào trong kết quả
Tiện ích mở rộng MongoDB nên được tham chiếu trong php. ini khi chúng tôi muốn thêm nó vào PHP
Dưới đây là các tệp mở rộng được xác định được hỗ trợ trên các nền tảng khác nhau
mongodb. vì vậy đối với MacOS
php_mongodb. dll cho cửa sổ
Bạn có thể lấy php. ini bằng cách chạy lệnh bên dưới,
php --ini
Hãy thêm nó
Sau khi dành quá nhiều thời gian để tìm giải pháp xử lý lỗi này, tôi đã tìm ra một giải pháp khá dễ dàng cho việc này với lệnh PECL, mà tôi sẽ chia sẻ với bạn
Thư viện này cung cấp sự trừu tượng cấp cao xung quanh trình điều khiển PHP cấp thấp hơn [phần mở rộng _______4_______]
Mặc dù tiện ích mở rộng cung cấp API giới hạn để thực thi lệnh, truy vấn và thao tác ghi, nhưng thư viện này triển khai API đầy đủ tính năng tương tự như API của các trình điều khiển MongoDB khác. Nó chứa các phần trừu tượng cho các đối tượng máy khách, cơ sở dữ liệu và bộ sưu tập, đồng thời cung cấp các phương thức cho các hoạt động CRUD và các lệnh phổ biến [e. g. quản lý chỉ mục và bộ sưu tập]
Nếu bạn đang phát triển một ứng dụng với MongoDB, bạn nên cân nhắc sử dụng thư viện này hoặc một bản tóm tắt cấp cao khác, thay vì chỉ sử dụng tiện ích mở rộng
Thông tin bổ sung về kiến trúc của thư viện này và tiện ích mở rộng mongodb
có thể tìm thấy trong Tổng quan về kiến trúc
Tài liệu
Cài đặt
Phương pháp ưa thích để cài đặt thư viện này là với Trình soạn thảo bằng cách chạy phần sau từ gốc dự án của bạn
$ composer require mongodb/mongodb
Hướng dẫn cài đặt bổ sung có thể được tìm thấy trong tài liệu thư viện
Vì thư viện này là một bản tóm tắt cấp cao cho trình điều khiển nên nó cũng yêu cầu phải cài đặt tiện ích mở rộng mongodb
$ pecl install mongodb
$ echo "extension=mongodb.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
Hướng dẫn cài đặt bổ sung cho phần mở rộng có thể được tìm thấy trong PHP của nó. tài liệu mạng
Vấn đề báo cáo
Các vấn đề liên quan đến thư viện phải được báo cáo trong dự án PHPLIB trong JIRA của MongoDB. Các vấn đề liên quan đến tiện ích mở rộng phải được báo cáo trong dự án PHPC
Đối với các câu hỏi chung và yêu cầu hỗ trợ, vui lòng sử dụng một trong các kênh Hỗ trợ kỹ thuật của MongoDB
Lỗ hổng bảo mật
Nếu bạn đã xác định được lỗ hổng bảo mật trong trình điều khiển hoặc bất kỳ dự án MongoDB nào khác, vui lòng báo cáo lỗ hổng đó theo hướng dẫn trong Tạo báo cáo lỗ hổng
Phát triển
Quá trình phát triển được theo dõi trong dự án PHPLIB trong JIRA của MongoDB. Tài liệu đóng góp cho dự án này có thể được tìm thấy trong ĐÓNG GÓP. md
Thông tin để cài đặt phần mở rộng PECL này có thể được tìm thấy trong chương hướng dẫn có tiêu đề Cài đặt phần mở rộng PECL. Thông tin bổ sung như bản phát hành mới, bản tải xuống, tệp nguồn, thông tin người bảo trì và CHANGELOG, có thể được đặt tại đây. » https. //pecl. php. mạng/gói/mongodb
Người dùng Linux, Unix và macOS có thể chạy lệnh sau để cài đặt trình điều khiển
$ sudo pecl install mongodb
Nếu hệ thống của bạn đã cài đặt nhiều phiên bản PHP [e. g. mặc định của macOS, Homebrew, » XAMPP], lưu ý rằng mỗi phiên bản PHP có lệnh pecl và php riêng. tập tin ini. Ngoài ra, mỗi môi trường PHP [e. g. CLI, web] có thể sử dụng php riêng. tập tin ini
Việc cài đặt trình điều khiển qua PECL sẽ sử dụng các phiên bản đi kèm của » libbson và » libmongoc và cố gắng tự động định cấu hình chúng
Ghi chú. Nếu quá trình xây dựng không tìm thấy thư viện SSL, hãy kiểm tra xem các gói phát triển [e. g.
libssl-dev
] và »pkg-config đều được cài đặt. Nếu cách đó không giải quyết được sự cố, hãy cân nhắc sử dụng quy trình cài đặt thủ công
Cuối cùng, thêm dòng sau vào php. ini cho từng môi trường mà bạn định sử dụng trình điều khiển