PHP 7 MongoDB 클라이언트/드라이버를 설치하시겠습니까?
저는 PHP 7과의 작업을 시작하고 싶습니다만, 한 가지 문제가 방해가 되고 있습니다.데이터베이스는 주로 MongoDB를 사용하는데, 문제는 PHP 7용 MongoDB 드라이버/클라이언트를 설치하는 방법을 모른다는 것입니다.
5.과 현재설치 PHP 5.6이 Mac입니다.brew install php56-mongo요령을 터득합니다.
제 Mac이나 Ubuntu 설치에서 어떻게 이것을 작동시킬 수 있는지 누가 추천해줄 수 있나요?
미리 감사드리며, 정말 감사합니다!
PHP 버전 5.99.99 또는 이전 버전의 Mongo 확장자가 대체되었습니다.
https://pecl.php.net/package/mongo
대신 PHP 버전 7.99.99 또는 이전 버전의 최신 버전을 사용합니다.
https://pecl.php.net/package/mongodb
PECL/PEAR 확장을 자동으로 설치할 수 있습니다.
pecl install mongodb
또는 수동으로.
클래스도 변경되었습니다.
new \MongoClient(); // legacy class!
http://php.net/manual/en/book.mongo.php 을 참조하십시오.
new \MongoDB\Driver\Manager(); // new classes!
http://php.net/manual/en/set.mongodb.php 을 참조하십시오.
호환성에 대한 추가 정보는 다음에서 확인할 수 있습니다.
https://docs.mongodb.org/ecosystem/drivers/php/ #호환성
PHP 7을 지원하는 MongoDB 드라이버는 12월 22일에 출시되었습니다. 브루와 같은 다운스트림 저장소는 업데이트되지 않았을 가능성이 높습니다.
현재업없확것다니습이 없습니다.php70-mongobrew 스크립트를 추가하기 위한 활성 꺼내기 요청이 있습니다.
그 동안 pecl을 통해 수동으로 설치할 수 있습니다.
pecl channel-update pecl.php.net
pecl install mongodb
echo "extension=mongodb.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
우분투 16.04 lts에서 php 7.0과 MongoDB를 연결하는 방법은 무엇입니까?
다음 링크를 사용하여 LAMP를 설치합니다.Apache2, mysql 및 php 7.0을 설치합니다. https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04
다음 링크의 단계를 사용하여 Ubuntu에 MongoDB Community Edition을 설치합니다.http://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
다음 명령을 입력하여 pecl에서 mongoDB 확장을 가져옵니다.
sudo apt install php-pear
.ini 파일의 ini 합니다./etc/php/apache2/7.0
extension=mongodb.so
중요 - 클래스도 변경되었습니다.
new MongoClient(); //Old Class
new MongoDB\Driver\Manager(); // New Class
참조 - http://php.net/manual/en/set.mongodb.php
다음을 사용하여 mongodb 드라이버를 설치할 수 있습니다.
sudo apt-get install php-mongodb
아니요, 안타깝게도 기존 드라이버는 PHP7을 지원하지 않습니다.이것이 공식적으로 확정된 커밋과 JIRA 티켓입니다.
새로운 PHP MongoDB 드라이버는 여기 PECL(또는 GitHub)에서 찾을 수 있습니다.
설치 방법:
pecl channel-update pecl.php.net
pecl install mongodb
echo "extension=mongodb.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
새 드라이버에 대한 설명서는 여기에서 찾을 수 있습니다.설명서의 참고 사항을 포함하고 싶습니다.
궁극적으로 이 확장은 단독으로 사용되지 않습니다.사용자는 mongo-php-library와 같은 하나 이상의 사용자 및 PHP 라이브러리와 함께 이 드라이버를 사용하는 것을 고려해야 합니다.
더mongodb/ 의 드이버 / PHP보다 더 입니다.mongo드라이버를 사용하면 코드에서 직접 사용하는 것보다 드라이버 위에 더 높은 수준의 라이브러리를 사용하는 것이 좋습니다.
Mongo PHP 라이브러리(릴리스)는 PHP용 공식 고급 라이브러리이며 프로젝트에서 사용하는 것이 권장됩니다.아직 베타 버전이지만 PHP7을 사용하는 것이 가장 안전하고 미래에 대비할 수 있는 방법인 것 같습니다.
누군가가 레거시 드라이버를 PHP7로 포팅할 수도 있지만, 레거시 드라이버에는 다른 많은 문제가 있기 때문에 필요하지 않을 수도 있습니다.
- 먼저 여기에 언급된 단계를 통해 기계에 MongoDB를 설치해야 합니다. https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
- 다음 단계는 PHP와 함께 사용할 MongoDB 드라이버를 설치하는 것입니다.
PHP 버전 5.99.99 이상용 MongoDB 드라이버는 다음과 같습니다. https://pecl.php.net/package/mongo 을 설치하려면 다음을 사용해야 합니다.
sudo apt-get install php-http php5-dev.
sudo pecl 설치 몽고
PHP 7부터 새로운 드라이버 https://pecl.php.net/package/mongodb 설치 방법:
sudo pecl install mongodb만약 당신이 라라벨 프레임워크나 프로젝트를 작곡가와 함께 사용하고 있다면, 이 라이브러리가 가장 적합합니다: https://github.com/jenssegers/Laravel-MongoDB 버전 3.0.0을 사용하여 PHP 7과 라라벨 5를 지원받거나 이전 버전 2.2.2 작곡가 명령을 사용하십시오.
작곡가는 젠세거/mongodb가 필요합니다.
작곡가 없이 다른 PHP 프레임워크를 사용하는 경우, 위에서 언급한 라이브러리에서도 사용되는 https://github.com/mongodb/mongo-php-library 라이브러리를 사용합니다.
저도 포기할 뻔 했어요.PHP 7x용 MongoDB 드라이버의 경우 Ubuntu 18.04 Pecl이 작동하지 않습니다.대신 다음을 시도합니다.
sudo apt-get install php-mongodb
그런 다음 프로젝트 폴더의 기본에 mongodb 라이브러리를 설치합니다. https://docs.mongodb.com/php-library/current/tutorial/install-php-library/
composer require mongodb/mongodb
composer install
이는 운전자가 제공하는 하위 레벨 기능에 액세스합니다.
마지막으로 php.ini로 이동하여 추가합니다.
extension = mongo.so
Apache를 다시 시작합니다.
테스트하려면 php 파일에 추가해 보십시오.
<?php
require_once __DIR__ . "/vendor/autoload.php";
$collection = (new MongoDB\Client)->test->users;
print_r($collection);
?>
오래된 질문이지만 새로운 훌륭한 해결책입니다.필요한 모든 것을 설치하려면 Mongostead7 자동 스크립트를 사용하면 됩니다.저를 위해 잘 작동했습니다.추가 작업이 필요하지 않습니다.
다음과 같이 사용합니다.
sudo curl -sS https://raw.githubusercontent.com/zakhttp/Mongostead7/master/mongoHomestead7.sh | sudo sh
답변을 보완하고 제게 도움이 된 내용을 게시합니다.
1은 램프 https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04 을 설치하기 위해 이 가이드를 따릅니다(세 번째 단계는 mongo 클라이언트를 설치하는 경우에만 필요함).)
2 $ sudo apt-get install php7.0-dev
3 $ sudo pecl install mongodb
4 $ sudo nano /etc/php/7.0/apache2/php.ini
파일에 다음 행을 추가합니다.
확장자 = mongo.그래서;
파일의 정확한 위치를 지정해야 할 수도 있습니다.제 경우 파일은 /usr/lib/slot/20151012/mongodb.so 에 있습니다.)
이상으로 php 7.0용 mongo 클라이언트를 설치합니다.
저는 프란시 티와리의 답변을 보완하고 있습니다.
UBUNTU 16.0.4 (2016.12.07)
PHP-MONGODB 드라이버 설치: 명령:
sudo pecl install mongodb -> resultat : 빌드 프로세스가 성공적으로 완료됨 '/usr/lib/slot/20151012/mongodb.so ' 설치 ok: channel://pecl.php.net/mongodb-1.2.0 구성 옵션 "slot_ini"가 php.ini 위치로 설정되지 않았습니다. "slota=mongodb.so "를 php.ini에 추가해야 합니다.
-> la librairie se trouve dans "/usr/lib/php/20151012/mongodb.so"
- sudo systemctl restart apache2.service
https://secure.php.net/manual/en/mongodb.installation.pecl.php
- create 2 new files called "30-mongodb.ini" in both path to add the extension to your server:
-/etc/php/7.0/fpm/conf.d/30-mongodb.ini
-/etc/php/7.0/cli/conf.d/30-mongodb.ini
Commandes :
sudo nano /etc/php/7.0/fpm/conf.d/30-mongodb.ini
-> add "extension=mongodb.so"
sudo nano /etc/php/7.0/cli/conf.d/30-mongodb.ini
-> add "extension=mongodb.so"
- Test if the mongodb extension is running in your server :
Commandes :
php --ini
독트린MongoDB 번들 설치 : http://symfony.com/doc/current/bundles/DoctrineMongoDBBundle/index.html, http://www.doctrine-project.org/2016/06/09/odm-1-1-0-and-1-0-6.html,
Commandes :
- cd
- cd my_project_name
- ls -a composer*
-> résultat : composer.json composer.lock
- sudo nano composer.json
- Add to the composer.json in "require" array
"doctrine/mongodb-odm": "^1.0",
"doctrine/mongodb-odm-bundle": "^3.0"
- Add to the composer.json in "require" array
"alcaeus/mongo-php-adapter": "^1.0",
"ext-mongo": "*"
- Add a new array :
"provide":
{
"ext-mongo": "1.6.12"
}
- Move
sudo cp -i /usr/lib/php/20151012/mongodb.so /etc/php/7.0/cli
이 문제를 해결하려면 적어도 10개의 평판이 있어야 합니다
저는 ubuntu 16.04에서 php 버전 7.0을 사용하고 있습니다.mongo 드라이버/클라이언트 설치에 대한 자세한 정보를 드립니다.먼저 수동으로 mongodb를 설치하고 mongodb-php 드라이버를 설치했습니다.
mongobd를 설치하는 중입니다.다음 명령을 입력합니다.
$ 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
mongo-php 드라이버 설치:
$ sudo pecl install mongodb
또한 phpize를 찾을 수 없습니다.라는 오류 메시지가 표시될 수 있습니다.Pphpize는 빌드 환경을 만드는 데 사용되는 명령입니다.이 오류는 pecl 확장을 설치할 때 나타날 수 있습니다.phpize 명령을 찾을 수 없는 이 문제를 해결하려면 사용자가 php5-dev 패키지를 설치해야 합니다.설치하려면 다음 명령을 입력합니다.
$ sudo apt-get install php7.0-dev
그런 다음 /etc/php/7.0/apache2 디렉토리에 있는 php.ini 파일에 다음과 같은 mongoddb 확장자를 추가합니다.
$ sudo nano /etc/php/7.0/apache2/php.ini
파일에 다음 행을 추가합니다.
확장자 = mongo.그래서;
파일의 정확한 위치를 지정해야 할 수도 있습니다.제 경우 파일은 /usr/lib/slot/20151012/mongodb.so 에 있습니다.)
그래서 몽고드는 드라이버와 함께 설치됩니다.
이제 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";
}
이것은 Ubuntu for PHP7에서 저에게 효과가 있었습니다.
sudo apt-get install php7.0-mongodb
언급URL : https://stackoverflow.com/questions/34486808/installing-the-php-7-mongodb-client-driver
'programing' 카테고리의 다른 글
| mongoose에서 중첩된 개체 업데이트 중 (0) | 2023.07.11 |
|---|---|
| HTML 페이지에서 엑셀 시트를 표시하는 방법 (0) | 2023.07.11 |
| msql을 사용하여 업데이트 및 주문하는 방법 (0) | 2023.07.06 |
| std::string length() 및 size() 멤버 함수 (0) | 2023.07.06 |
| ID가 'com.google.gms.google-services'인 플러그인을 찾을 수 없습니다. (0) | 2023.07.06 |