태그 보관물: mongodb

mongodb

Ubuntu 16.04 LTS에서 Mongodb PHP 확장을 설치하는 방법 apt-get install php5-mongo 우분투 14.04에 충분합니다 LTS는

Ubuntu 16.04 LTS를 실행 중이며 Mongodb를 PHP와 함께 사용하고 싶습니다. 이를 위해 나는 시도했다

sudo apt-get install php5-mongo

우분투 14.04에 충분합니다 LTS는 충분하지만 잘못되었습니다. 다음과 같은 오류 메시지가 나타납니다.

E: Unable to locate package php5-mongo

방금 머신 OS를로 업그레이드했으며 와 함께 Ubuntu 16.04 LTS사용하고 싶었 mongodb습니다 PHP 7.0.4.

이 문제를 해결하려면 어떻게해야합니까?



답변

mongodb 확장을 설치하려면 다음을 수행하십시오.

sudo apt-get install php-mongodb

답변

지금까지 해결책을 찾았습니다. 그러나 나는 그것을 어떻게했는지 공유하고 싶다.

  • Ubuntu 16에 PHP 5.6 설치 (@http : //lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu 참조 )
  • 그런 다음 달렸다 sudo apt-get install php5.6-mongo

답변

우분투 16.04에서 PHP 7.0을 사용하고 있습니다. mongo 드라이버 / 클라이언트 설치에 대한 자세한 정보를 제공하고 있습니다. 먼저 mongodb를 수동으로 설치 한 다음 mongodb-php 드라이버를 설치했습니다.

1) mongo db 설치 다음 명령을 입력하십시오 :

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

$ sudo apt-get update

$ sudo apt-get install -y mongodb-org

Mongdb를 서비스로 올바르게 시작하려면 (예 : 시스템 시작시 Mongodb 자동 시작) 다음 단계를 수행하십시오.

다음 명령을 입력하여 / etc / systemd / system /에 mongodb.service 파일을 작성하십시오.

$ sudo nano /etc/systemd/system/mongodb.service

다음 내용을 붙여 넣으십시오.

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

그런 다음 다음 명령을 입력하십시오.

$ sudo systemctl start mongodb

$ sudo systemctl enable mongodb

2) mongo-php 드라이버 설치 :

$ sudo pecl install mongodb

또한 오류가 발생할 수 있습니다 : phpize not found. Phpize는 빌드 환경을 만드는 데 사용되는 명령입니다. 이 오류는 pecl 확장을 설치할 때 나타날 수 있습니다. phpize 명령의이 문제를 해결하려면 사용자는 php5-dev 패키지를 설치해야합니다. 설치하려면 다음 명령을 입력하십시오 :

 $ sudo apt-get install php7.0-dev

그런 다음 /etc/php/7.0/apache2 디렉토리에있는 php.ini 파일에서 mongo db 확장자를 추가하십시오.

$ sudo nano /etc/php/7.0/apache2/php.ini

파일에 다음 줄을 추가하십시오.

확장 = mongo.so;

(파일의 정확한 위치를 지정해야 할 수도 있습니다. 제 경우에는 파일이 /usr/lib/php/20151012/mongodb.so에있었습니다.)

따라서 mongo db는 드라이버와 함께 설치됩니다.

3) 이제 mongo-php 클래스가 변경되었습니다. 인터넷에서 사용 가능한 대부분의 리소스는 이전 클래스를 대체하는 솔루션을 제공합니다. 다음은 참조 할 수있는 링크입니다.

http://php.net/manual/en/set.mongodb.php

http://zetcode.com/db/mongodbphp/

기본 데이터베이스 작업을위한 몇 가지 명령은 다음과 같습니다.

$mng = new MongoDB\Driver\Manager(); // Driver Object created

데이터베이스에 데이터를 삽입하려면 다음을 수행하십시오.

$bulk = new MongoDB\Driver\BulkWrite;

$doc = ["_id" => new MongoDB\BSON\ObjectID, "data" => $someData, "info" => $someInfo];

$bulk->insert($doc);

$mng->executeBulkWrite('dbName.collectionName', $bulk);

데이터를 가져 오는 경우 :

$query = new MongoDB\Driver\Query([]);

$rows = $mng->executeQuery("dbName.collectionName", $query);

foreach ($rows as $row)
    {
         echo "$row->data - $row->info\n";
    }

답변

또는 PHP 7

sudo apt-get install php7.0-mongodb

답변

Dockerfile에서 이것을 사용하고 있습니다 :

echo 'deb http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list
echo 'deb-src http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list
curl -OL https://www.dotdeb.org/dotdeb.gpg \
    && apt-key add dotdeb.gpg \
    && rm dotdeb.gpg
apt-get update -y \
    && apt-get install -y \
        php7.0 \
        php7.0-mongodb \

답변