0 투표
$ sudo apt install php7.2-dev

$ sudo pecl install mongodb

$ sudo find / -name mongodb.so

$ sudo vi /etc/php/7.2/mods-available/mongodb.ini
; priority=99
extension=mongodb.so


ubuntu@test:/etc/php/7.2$ sudo phpenmod mongodb

$ sudo service php7.2-fpm reload

$ sudo systemctl restart nginx

https://kb.objectrocket.com/mongo-db/how-to-insert-mongodb-document-using-php-277

https://tecadmin.net/enable-disable-php-modules-ubuntu/

https://www.cyberciti.biz/faq/how-to-reload-restart-php7-0-fpm-service-linux-unix/

1 답변

0 투표

정리하면 작성하신 절차는 정상적인 설치 방법이고,
아래 항목들만 추가로 확인하면 대부분의 오류를 예방할 수 있습니다.


✅ 1️⃣ MongoDB PHP 확장 정상 로드 확인

설치/설정 후 반드시 아래로 확인하세요.

php -m | grep mongodb

또는 phpinfo():

php -i | grep mongodb

mongodb가 출력되면 확장이 정상적으로 로드된 상태입니다.


✅ 2️⃣ php.ini / 모듈 경로 주의사항

mongodb.ini 내용은 아래처럼 확장명만 두는 것이 안전합니다.

extension=mongodb

mongodb.so까지 쓰면
PHP 버전/빌드 환경에 따라 인식이 안 되는 경우가 있습니다.


✅ 3️⃣ PHP-FPM / CLI 버전 일치 여부

CLI와 FPM의 PHP 버전이 다르면
CLI에서는 되는데 웹에서는 안 되는 문제가 자주 발생합니다.

php -v
php-fpm7.2 -v

버전이 다르면 /etc/php/7.2/fpm/php.ini 쪽 설정을 다시 확인하세요.


✅ 4️⃣ Composer용 MongoDB 라이브러리도 필요

PHP 확장만 설치하면 끝이 아니라
**PHP 라이브러리(mongodb/mongodb)**도 같이 써야 합니다.

composer require mongodb/mongodb

사용 예:

require "vendor/autoload.php";

$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->test->users;
$collection->insertOne(["name" => "nanumtip"]);

자주 발생하는 오류

❌ Class ‘MongoDB\Client’ not found

→ Composer 라이브러리 미설치

❌ Unable to load dynamic library ‘mongodb’

→ php.ini 경로 오류 / PHP-FPM 재시작 안 함

sudo systemctl restart php7.2-fpm
sudo systemctl restart nginx

✔️ 요약

  • ✔️ PECL mongodb 확장 설치 → OK
  • ✔️ phpenmod mongodb → OK
  • ✔️ PHP-FPM / nginx 재시작 필수
  • ✔️ Composer 라이브러리도 함께 사용

이 순서만 맞추면 Ubuntu + PHP + MongoDB 환경에서 문제없이 동작합니다.

구로역 맛집 시흥동 맛집
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
...