1. 程式人生 > >php7.2 安裝mongodb擴充套件 生成mongodb.so檔案

php7.2 安裝mongodb擴充套件 生成mongodb.so檔案

折騰了很久,網上的大多都過時了,不是下載的版本不對就是下載的包不對,基本都會在configure階段報錯,後來根據官方的文件才找到解決方案

php mogodb擴充套件:https://pecl.php.net/package/mongodb

mongodb說明:https://docs.mongodb.com/ecosystem/drivers/php/


根據說明:需要安裝mongodb-1.4或者1.3

安裝1.4

下載wget https://pecl.php.net/get/mongodb-1.4.4.tgz

解壓tar zxf mongodb-1.4.4.tgz

進入 cd mongodb-1.4.4/

phpize

./configure --with-php-config=php-config

順利的話會直接提示

Build complete.
Don't forget to run 'make test'.

Installing shared extensions:     /usr/lib64/php/modules/

至此,生成so檔案成功

下一步開啟php擴充套件就ok了

主要就是在配置檔案中加一行程式碼

extension=mongodb.so

增加:

網上的大多數php版本的5.X的,對於5.X來說需要的擴充套件檔案是mongo.so檔案,對應的下載連結:https://pecl.php.net/package/mongo

都是比較老的版本,對於7.X版本需要生成的擴充套件檔案是mongodb.so檔案

,對應的下載連結在這裡:https://pecl.php.net/package/mongodb

原文:

Drivers

The currently maintained driver is the mongodb extension available from PECL. This driver can be used stand-alone, although it is very bare-bones. You should consider using the driver with the complimentary PHP library, which implements a more full-featured API on top of the bare-bones driver. Further information on this architecture may be found in the 

PHP.net documentation.

The mongo extension available from PECL is an older, legacy driver for PHP 5.x. The mongo extension is no longer maintained and new projects are advised to use the mongodb extension and PHP library. A community-developed Mongo PHP Adapter project implements the legacy mongo extension’s API using the new mongodb extension and PHP library, which may be useful for those wishing to migrate existing applications.

原文連結:https://docs.mongodb.com/ecosystem/drivers/php/

對於7.X的mongodb驅動,需要下載mongodb library,也就是說除了so檔案擴充套件,還需要庫來驅動使用mongodb注意7.X的mongodb.so與5.X的mongo.so是不相容的,他們的方法不通用,在網上找到的mongodb的使用程式碼目前大部分是不能執行的。library下載連結:https://github.com/mongodb/mongo-php-library

可以使用composer更方便:

$ composer require mongodb/mongodb

有關library的使用方法見文件:https://docs.mongodb.com/php-library/current/tutorial/crud/

例如:

對於指定的連結可以這樣寫:

$collection = (new MongoDB\Client("mongodb://username:[email protected]:port"))->database->table;

插入方法:

<?php

$collection = (new MongoDB\Client)->test->users;

$insertOneResult = $collection->insertOne([
    'username' => 'admin',
    'email' => '[email protected]',
    'name' => 'Admin User',
]);

printf("Inserted %d document(s)\n", $insertOneResult->getInsertedCount());

var_dump($insertOneResult->getInsertedId())

查詢方法:

<?php

$collection = (new MongoDB\Client)->test->zips;

$document = $collection->findOne(['_id' => '94301']);

var_dump($document);

limit,skip相當於limit方法:

$collection = (new MongoDB\Client)->test->restaurants;

$cursor = $collection->find(
    [
        'cuisine' => 'Italian',
        'borough' => 'Manhattan',
    ],
    [
        'projection' => [
            'name' => 1,
            'borough' => 1,
            'cuisine' => 1,
        ],
        'limit' => 4,
    ]
);

foreach($cursor as $restaurant) {
   var_dump($restaurant);
};

相關推薦

php7.2 安裝mongodb擴充套件 生成mongodb.so檔案

折騰了很久,網上的大多都過時了,不是下載的版本不對就是下載的包不對,基本都會在configure階段報錯,後來根據官方的文件才找到解決方案php mogodb擴充套件:https://pecl.php.net/package/mongodbmongodb說明:https://

php7.2 安裝phpredis擴充套件

##下載及安裝 wget https://github.com/edtechd/phpredis/archive/php7.zip //下載php-redis擴充套件包 yum install -y zip unzip //安裝壓縮,解壓軟體 unzip php7.zip //解壓 cd

php7.2 安裝mcrypt擴充套件 Call to undefined function mcrypt_get_block_size

由於mcrypt擴充套件在php7.2 棄用,所以需要繼續使用這個擴充套件的話需要自行編譯mcrypt擴充套件。 本機環境: ubuntu18.04 php7.2 如果ubuntu版本在16.04 或者14.04 版本,優先嚐試使用新增pp:

php7.2安裝curl 擴充套件

1 安裝依賴yum -y install  libcurl-devel   需要安裝第一步不然會報錯 2、cd /home/tmp/php-7.2.11/ext/curl/ 3、/usr/local/php7.2/bin/phpize (使用phpize) 4、./c

win10下安裝php7.2的memcache擴充套件

安裝memcache:http://www.runoob.com/memcached/window-install-memcached.html   擴充套件 下載地址:https://download.csdn.net/download/qq_35349114/1064336

CentOS7為php7.2安裝php-redis擴充套件

轉載來源:原文分享 先下載phpredis-develop 安裝unzip、zip解壓工具 yum -y install unzip zip 解壓 unzip develop 解壓後會多了個phpredis-develop的目錄。進入目錄 cd ph

php7.2 安裝mcrypt擴展

bre build cati 安裝過程 php lib should conf ucc 升級 php 7.2 後,提示 call to undefined function mcrypt_module_open() ;mcrypt 擴展從 php 7.1.0 開始廢棄;自

linux系統,CentOS7.2安裝ffmpeg擴充套件,PHP用FFmpeg擷取視訊第一幀作為視訊封面,並給圖片新增播放視訊按鈕

最近做公司的專案中,有使用者上傳視訊,後臺這邊接收視訊並上傳,獲取視訊第一幀作為視訊封面的功能,在網上查找了好多資料,並且安裝 了ffmpeg-php的PHP擴充套件,由於版本問題,安裝好幾個版本都不成功,最後放棄安裝擴充套件,後來執行程式碼發現不用安裝那個擴充套件也能實現截圖並上傳的功能,所以要擷

轉載--php 7.2 安裝 mcrypt 擴充套件 php 7.2 安裝 mcrypt 擴充套件

在 php 官網下載 mcrypt 包,php 擴充套件官網 # wget http://pecl.php.net/get/mcrypt-1.0.1.tgz # tar xf mcrypt-1.0.1.tgz # cd mcrypt-1.0.1 編譯安裝

Centos7.5 php7.2 安裝pdo_sqlsrv 連線 sql server

一、加入微軟的源 curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlrelease.repo 二、防止衝突先解除安裝原有版本(可選) yum remove unix

win下php7.2安裝xdebug和php-redis

先通過phpinfo()檢視自己的php資訊 確定我的版本為:7.2-nts-vc15-x86 1、安裝xdebug https://xdebug.org/download.php 下載對應的版本dll檔案 將dll檔案複製到php資料夾的ext資料夾內 修改php

CentOS7下PHP7.2安裝redis擴展

hive 執行 ring 源碼 figure 相同 pri tps 配置 1、安裝phpize(存在忽略) yum install php-devel 2、下載擴展源碼包,直接用wget wget https://github.com/edtechd/phpredis

php7.2安裝oci8,lnmp

#rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm   #rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm 

php7編譯安裝curl擴充套件

編譯安裝php 後 執行php -m 發現沒有curl擴充套件安裝CURL擴充套件切換到php原始碼中 /php/ext/curl執行/www/soft/php/bin/phpize執行./configure —with-php-config=/www/soft/php/bi

php7編譯安裝redis擴充套件

在ubuntu/php7 環境下,編譯安裝redis擴充套件 background: 最近將php升級到7.0 需要用到redis擴充套件, sudo apt-get install php7-redis 沒找到 只能編譯安裝 編譯安裝流程如下 1 下載解壓原始碼包

windows下php7.1安裝redis擴充套件以及redis測試使用全過程

       最近做專案,需要用到redis相關知識。在Linux下,redis擴充套件安裝起來很容易,但windows下還是會出問題的。因此,特此記下自己實踐安裝的整個過程,以方便後來人。    

編譯HAL層生成lib.so檔案

本文以編譯LCD背光的庫檔案為例,生成的庫檔案為 lights.mini6410.so. 原始檔的目錄為:Android-2.3.4/device/samsung/crespo/liblight/    light.c   Android.mk light.c /* *

Java在linux下呼叫C/C++生成so檔案

1.CplusUtil.java是java web工程中的一個工具類內容如下:CplusUtil.java [java] view plain copy  print? package cn.undoner.utils;   /**   * Created 

Opencv編譯生成so檔案及使用

Python配置opencv 原理 Python呼叫opencv的原理是:opencv編譯出共享庫檔案,python把這個共享庫檔案作為一個模組載入並使用。 通俗點就是,編譯opencv的時候開啟python介面選項,編譯好了會產生cv2.so(linux

記錄PHP操作mongodb擴充套件的坑 及php7安裝mongodb擴充套件

1.下載擴充套件到php原始碼包擴充套件目錄中,ext目錄中儲存著php官方包含的擴充套件原始碼包,沒有的話就要自己去下載 PHP的擴充套件路徑在: /usr/local/src/php-7.0.12/ext/(PHP原始碼包的ext目錄) 下載地址:https://pecl.php.net