PHP8 從源代碼構(gòu)建MongoDB PHP驅(qū)動程序

2024-04-08 10:15 更新

對于驅(qū)動程序開發(fā)人員和對最新錯誤修復(fù)感興趣的用戶,驅(qū)動程序 可以從 Github 上的最新源代碼編譯而成。運行以下命令 用于克隆和構(gòu)建項目的命令:

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

在安裝了多個版本的 PHP 的系統(tǒng)上(例如 macOS default, Homebrew,  XAMPP),每個版本的 PHP 將有自己的 phpize 命令和文件。此外,每個 PHP 環(huán)境(例如 CLI、web) 可以使用單獨的文件。php.iniphp.ini

默認情況下,驅(qū)動程序?qū)⑹褂?nbsp; libbson、 libmongoc 和  libmongocrypt 和 嘗試自動配置它們。如果這些庫已經(jīng)存在 作為系統(tǒng)庫安裝,驅(qū)動程序可以通過以下方式使用它們 指定為 的選項。--with-mongodb-system-libs=yesconfigure

有關(guān)選項的完整列表,請運行 configure --help。configure

使用 libmongoc 和 libmongocrypt 的捆綁版本時,驅(qū)動程序?qū)?還嘗試根據(jù)選項選擇SSL庫。 從驅(qū)動程序版本 1.17.0 開始,默認情況下始終首選 OpenSSL。 以前,安全傳輸是 macOS 上的默認值,而 OpenSSL 是 在所有其他平臺上默認。--with-mongodb-sslconfigure

注意:如果構(gòu)建過程找不到 SSL 庫,請檢查 開發(fā)包(例如)和 ? pkg-config 都是 安裝。libssl-dev在 macOS 上使用 Homebrew 時,一個系統(tǒng)通常有多個 已安裝 OpenSSL 版本。確保所需的 OpenSSL 版本 選擇時,環(huán)境變量可能 用于控制 的搜索路徑。如果不使用,也 支持一個參數(shù),該參數(shù)可以是 用于指定手動搜索路徑(僅適用于 OpenSSL)。PKG_CONFIG_PATHpkg-configpkg-configconfigure--with-openssl-dir=DIR

最后的構(gòu)建步驟,make install,將報告安裝位置,類似于:mongodb.so

Installing shared extensions:     /usr/lib/php/extensions/debug-non-zts-20220829/

確保 extension_dir 選項 指向安裝目錄。可以通過運行以下命令來查詢該選項:php.inimongodb.so

$ php -i | grep extension_dir
  extension_dir => /usr/lib/php/extensions/debug-non-zts-20220829 =>
                   /usr/lib/php/extensions/debug-non-zts-20220829

如果目錄不同,請更改 extension_dir 或 手動移動到正確的目錄。php.inimongodb.so

最后,將以下行添加到每個環(huán)境的文件中 這將需要使用驅(qū)動程序:php.ini

extension=mongodb.so


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號