> 백엔드 개발 > PHP 문제 > Mac에 PHP MongoDB를 설치하는 방법

Mac에 PHP MongoDB를 설치하는 방법

藏色散人
풀어 주다: 2023-03-14 17:22:01
원래의
2829명이 탐색했습니다.

Mac에 php mongodb를 설치하는 방법: 1. php의 mongodb 확장을 다운로드합니다. 2. 설치 패키지의 압축을 푼 다음, phpize를 실행하고 확장을 설치하기 위한 환경을 준비합니다. mongodb의 PHP 확장; 5. 확장 영역에 mongodb 확장을 추가합니다.

Mac에 PHP MongoDB를 설치하는 방법

이 기사의 운영 환경: macOS10.13.3 시스템, mongodb1.4.3&&PHP7.1.16 버전, MacBook Air 2019 컴퓨터

Mac에 php mongodb를 설치하는 방법

mongodb를 설치하는 방법은 무엇입니까? Mac의 PHP 확장:

phpize 경로는 /usr/local/php/bin/phpize입니다.

php-config 경로는 /usr/local/php/bin/php-config입니다.

1. 먼저 php의 mongodb 확장을 다운로드하세요

http://pecl.php.net/package/mongodb에서 mongodb 확장 소스 코드 패키지를 다운로드하세요(참고: http://pecl.php에서 다운로드하지 마세요). .net/ package/mongo 다운로드(이 패키지는 만료되었으므로) 명령줄에서 다음 명령을 실행합니다:

wget http://pecl.php.net/get/mongodb-1.4.3.tgz
로그인 후 복사

2. 설치 패키지의 압축을 푼다.

 tar -zxvf  mongodb-1.4.3.tgz
로그인 후 복사

3 압축 해제 디렉터리에 들어가서 phpize를 실행하고 환경을 준비합니다.

 cd mongodb-1.4.3
 /usr/local/php/bin/phpize
로그인 후 복사

확장 설치를 위해 4. Install mongodb의 php 확장

을 컴파일합니다. 3단계가 완료되면 현재 디렉터리에 구성 파일이 생성됩니다. 다음으로 ./configure 명령을 사용하여 설치하고 구성한 다음 make && make install을 사용하여 컴파일하고 설치합니다.

 ./configure --with-php-config=/usr/local/php/bin/php-config
 make && make install
로그인 후 복사

5.so 확장 파일이 PHP 확장에 생성되었는지 확인합니다. 디렉토리

php -i | grep extension_dir //查看PHP扩展包存储目录,这里为extension_dir => /usr/local/lib/php/pecl/20160303 => /usr/local/lib/php/pecl/20160303
ls /usr/local/lib/php/pecl/20160303 //查看目录中是否有mongodb.so文件
로그인 후 복사

6. php.ini를 편집하고 확장 영역

extension=mongodb.so
로그인 후 복사

 에 mongodb 확장자를 추가하세요. 참고: 확장자의 이름은 mongo.so가 아니라 mongodb.so입니다.

7. PHP mongodb 확장 모듈이 성공적으로 설치되었는지 확인하세요.

php -m | grep mongodb
로그인 후 복사

직접 결과에 mongodb가 표시되면 성공적으로 설치되었음을 의미합니다.

또는 php-fpm을 다시 시작한 후 phpinfo() 메서드를 실행하세요. mongodb의 내용이 보이면 설치가 성공한 것입니다.

8. PHP에서 mongodb 확장 사용

PHP용 mongodb 확장을 설치한 후 작곡가.json 파일의 require 블록에 "mongodb/mongodb": "^1.4"를 추가하세요. 그런 다음, 작곡가 명령을 통해 mongodb PHP 버전 클라이언트의 확장 패키지를 로드합니다. 명령은 다음과 같습니다.

composer require mongodb/mongodb
로그인 후 복사

결과는 다음과 같은 오류입니다.

Using version ^1.4 for mongodb/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
  Problem 1
    - mongodb/mongodb 1.4.2 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.3) installed.
    - mongodb/mongodb 1.4.2 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.3) installed.
    - mongodb/mongodb 1.4.1 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.3) installed.
    - mongodb/mongodb 1.4.0 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.3) installed.
    - Installation request for mongodb/mongodb ^1.4 -> satisfiable by mongodb/mongodb[1.4.0, 1.4.1, 1.4.2].
  To enable extensions, verify that they are enabled in your .ini files:
    - /usr/local/etc/php/7.1/php.ini
    - /usr/local/etc/php/7.1/conf.d/ext-opcache.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Installation failed, reverting ./composer.json to its original content.
로그인 후 복사

분석 결과 설치된 mongodb 확장 버전이 너무 낮은 것으로 나타났습니다. 그래서 버전 1.5.3(mongodb-1.5.3.tgz)로 변경해서 다시 하시고, 다시 작곡가 명령을 통해 mongodb PHP 버전 클라이언트의 확장 패키지를 로드하시면 괜찮을 것입니다. 구체적인 정보는 다음과 같습니다.

sing version ^1.4 for mongodb/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 5 installs, 12 updates, 1 removal
  - Removing aliyuncs/oss-sdk-php (v2.3.0)
  - Updating league/flysystem (1.0.48 => 1.0.49): Downloading (100%)
  - Installing ralouphie/getallheaders (2.0.5): Loading from cache
  - Updating guzzlehttp/psr7 (1.4.2 => 1.5.0):  Checking out 53662d6688
  - Installing symfony/contracts (v1.0.1): Downloading (100%)
  - Updating symfony/translation (v4.1.7 => v4.2.0):  Checking out ff9a878c9b
  - Updating nesbot/carbon (1.34.3 => 1.36.1):  Checking out 63da8cdf89
  - Updating symfony/dom-crawler (v4.1.7 => v4.2.0):  Checking out 7438a32108
  - Updating symfony/browser-kit (v4.1.7 => v4.2.0):  Checking out db7e59fec9
  - Updating symfony/console (v4.1.7 => v4.2.0):  Checking out 4dff24e5d0
  - Updating symfony/css-selector (v4.1.7 => v4.2.0):  Checking out aa9fa526ba
  - Updating symfony/event-dispatcher (v4.1.7 => v4.2.0):  Checking out 9b788b5f7c
  - Updating symfony/finder (v4.1.7 => v4.2.0):  Checking out e53d477d7b
  - Updating symfony/process (v4.1.7 => v4.2.0):  Checking out 2b341009cc
  - Updating symfony/yaml (v4.1.7 => v4.2.0):  Checking out c41175c801
  - Installing library/aliyun-oss-php-sdk (v2.3.0): Cloning 6e801c85b9 from cache
  - Installing mongodb/mongodb (1.4.2): Downloading (100%)
  - Installing justinrainbow/json-schema (5.2.7): Downloading (100%)
symfony/contracts suggests installing psr/cache (When using the Cache contracts)
symfony/contracts suggests installing psr/container (When using the Service contracts)
symfony/contracts suggests installing symfony/cache-contracts-implementation ()
symfony/contracts suggests installing symfony/service-contracts-implementation ()
Package phpunit/dbunit is abandoned, you should avoid using it. No replacement was suggested.
Writing lock file
Generating autoload files
로그인 후 복사

추천 학습: "PHP Video Tutorial"

위 내용은 Mac에 PHP MongoDB를 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿