2017-02-17 8 views
0

나는 우분투 16 서버에서 일하고 있는데, PHP 7을 작동시키는 mongodb 드라이버를 얻지 못하는 것 같습니다. 내 Windows 컴퓨터에서 내 xampp에 성공적으로 설치했지만 우분투 및 php7에는 겉보기에는 큰 차이가 있습니다.MongoDB php7 드라이버 설치

나는 pecl install mongodb을 통해이 파일을 설치하려고했지만, 작곡가를 사용하여 종속성을 가두었지만 여전히 작동하지 않습니다. 내 Windows Xampp에서 동일한 PHP 파일을 사용하고 있는데 페이지에 액세스하면 500 개의 상태 코드가 발생합니다.

누군가이 드라이버를 설치하는 방법에 대한 확실한 연습을 제공 할 수 있습니까? 아니면 작곡가와 pecl을 사용하여 변경 한 내용을 되돌릴 수 있습니까?

답변

0

심지어 멋진 pecl으로 시도했지만 예상대로 작동하지 않았습니다. pecl7과 작동합니다. 또한 오류와 함께이 경고 메시지가 나타났습니다 (WARNING: "pecl/mongo" is deprecated in favor of "channel:///mongodb" pecl/mongo requires PHP (version >= 5.3.0, version <= 5.99.99), installed version is 7.1.8). 또한 500 내부 서버 오류가 발생했습니다.

MongoDB php7 드라이버를 사용하기 전에 memcache가 필요하고 phphize 오류가 발생하여 this repo을 사용하여 해결했습니다. 그런 다음 마침내 나는이 저수준 PHP 드라이버를 MongoDB에 사용합니다.

$ git clone https://github.com/mongodb/mongo-php-driver.git 
$ cd mongo-php-driver 
$ git submodule sync && git submodule update --init 
$ /usr/bin/phpize 
$ ./configure 
$ make all -j 5 
$ sudo make install 

mongodb.so 드라이버가 설치되어 있는지 확인할 수 있습니다.

;;;;;;;;;;;;;;;;;;; 
; Module Settings ; 
;;;;;;;;;;;;;;;;;;; 
extension=mongodb.so 

나머지 단계 만 남겨두면 해당 경로에서 사용할 수 있습니다. 당신은 그 mongodb.so 위의 디렉토리에 존재 확인할 수 있습니다, 다음 명령을 사용하여 php.ini 파일에

$ php -i | grep extension_dir 
extension_dir => /usr/lib64/php/7.0/modules => /usr/lib64/php/7.0/modules 

당신의 extensions_dir을 확인 할 수 있습니다. 그런 다음 작곡가를 다시로드하면 좋을 것입니다! 그것이 나를 위해 일하는 때 희망이 도움이됩니다.