ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΡΠΎΠ³ΠΎ PECL-ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π°ΡΡ Π³Π»Π°Π²Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Β«Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PECL-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉΒ». ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡΡ , ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠΈ, ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ , ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΈ ΠΆΡΡΠ½Π°Π»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ: » https://pecl.php.net/package/mongodb
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Linux, Unix ΠΈ macOS Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ:
$ sudo pecl install mongodb
ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ PHP (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ macOS: ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Homebrew ΠΈ » XAMPP) Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ PHP Π±ΡΠ΄Π΅Ρ ΡΠ²ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° pecl ΠΈ ΡΠ°ΠΉΠ» (ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ) php.ini. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ PHP-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ CLI ΠΈΠ»ΠΈ web ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ php.ini.
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ 1.17.0 PECL Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅
Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ configure. Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Π½Π΅ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠ΅, ΠΊΠΎΠΌΠ°Π½Π΄Ρ yes Ρ Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΈΠΌΠ²ΠΎΠ» Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΡΡ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅
pecl install:
$ yes '' | sudo pecl install mongodb
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² configure
Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΠ°ΠΉΠ»Π΅ package.xml, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ Π² ΠΏΠ°ΠΊΠ΅Ρ PECL.
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ configure
Π² Π½Π΅ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
--configureoptions
Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pecl install:
$ sudo pecl install --configureoptions='with-mongodb-system-libs="yes" enable-mongodb-developer-flags="no"' mongodb
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΠ΅Π· PECL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ: » libbson, » libmongoc, » libmongocrypt ΠΈ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ SSL, ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅
libssl-devΠΈ ΠΏΠ°ΠΊΠ΅Ρ Β»Β pkg-config. ΠΡΠΎΠ²ΠΎΠ΄ΡΡ ΡΡΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ.
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ Π² ΡΠ°ΠΉΠ» php.ini Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ:
extension=mongodb.so
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Β»Β Homebrew 1.5.0 ΠΏΠ°ΠΊΠ΅Ρ Β»Β Homebrew/php tap ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ, Π° ΡΠΎΡΠΌΡΠ»Ρ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ PHP ΡΠ΄Π°Π»ΠΈΠ»ΠΈ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ macOS ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΌΡΠ»Ρ Β»Β php ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ PHP, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Homebrew, ΠΊΠΎΠΌΠ°Π½Π΄Ρ pecl, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ PECL.
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΡΡΡΡ ΠΊ » вΡΠΏΡΡΠΊΠ°ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° GitHub. ΠΡΡ ΠΈΠ²Ρ ΠΏΡΠ±Π»ΠΈΠΊΡΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ Π²Π΅ΡΡΠΈΠΈ PHP, ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ (TS ΠΈΠ»ΠΈ NTS) ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ (x86 ΠΈΠ»ΠΈ x64). ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π°ΡΡ ΠΈΠ² Π΄Π»Ρ PHP-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠΈΡΠ΅ ΡΠ°ΠΉΠ» php_mongodb.dll Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ "ext").
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ Π² ΡΠ°ΠΉΠ» php.ini Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ:
extension=php_mongo.dll
ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ DLL-ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ:
PHP Warning: PHP Startup: Unable to load dynamic library 'mongodb'
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ DLL-ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°ΡΠ°Π»ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ PHP:
PHP_VERSION)PHP_ZTS)PHP_INT_SIZE)ΠΡΠΎΡΠΌΠΎΡΡ ΡΡΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Π²ΡΠ²ΠΎΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ phpinfo(). ΠΠ²Π°ΠΆΠ΄Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΠΈ phpinfo() ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΈΠΉ PHP.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ DLL-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Windows
ΠΠΎΠ΄ΡΠ»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΠ‘ Windows, ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ³Π΄Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ PATH Π΄ΠΎΡΡΡΠΏΠ½Ρ DLL-ΡΠ°ΠΉΠ»Ρ. Π Π°Π·Π΄Π΅Π» FAQ Β«ΠΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ PHP-ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ PATH Π² WindowsΒ» ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ DLL-ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ PHP Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ Windows, Ρ ΠΎΡΡ ΡΡΠΎ ΡΠΎΠΆΠ΅ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΡΡΠ΅ΠΌΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ PATH ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΡΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ PATH ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ: libsasl.dll
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° » на ΡΠ°ΠΉΡΠ΅ GitHub. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎΠ±Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ:
$ 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 (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, macOS: ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Homebrew, » XAMPP) Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ PHP Π±ΡΠ΄Π΅Ρ ΡΠ²ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° phpize ΠΈ ΡΠ°ΠΉΠ» (ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ) php.ini. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ PHP (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, CLI, web) ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ php.ini.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
» libbson,
» libmongoc
и » libmongocrypt
ΠΈ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° --with-mongodb-system-libs=yes
ΠΊΠΎΠΌΠ°Π½Π΄Π΅ configure,
Π΅ΡΠ»ΠΈ ΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ configure ΠΏΠΎΠ»ΡΡΠ°ΡΡ
ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: configure --help.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ libmongoc ΠΈ libmongocrypt,
ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ SSL-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ
--with-mongodb-ssl ΠΊΠΎΠΌΠ°Π½Π΄Ρ configure.
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ 1.17.0 ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ OpenSSL.
ΠΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Ρ macOS ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ±ΠΈΡΠ°Π»ΠΈ Secure Transport,
Π° Π½Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
β OpenSSL.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅
libssl-devΠΈ ΠΏΠ°ΠΊΠ΅Ρ Β»Β pkg-config, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ Π½Π°ΠΉΠ΄ΡΡ SSL-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π±ΠΎΡ Π²Π΅ΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenSSL, ΠΊΠΎΠ³Π΄Π° ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Π½Π° macOS ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠΈΠ»ΠΈΡΡ Homebrew. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°pkg-configΠ±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄ΡPKG_CONFIG_PATH, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenSSL.
ΠΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ, ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΠ°Π³Π΅, ΠΊΠΎΠΌΠ°Π½Π΄Π° make install Π²ΡΠ²Π΅Π΄Π΅Ρ ΠΏΡΡΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠΎΠ±ΡΠ°Π»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ mongodb.so. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΡΠ°ΠΊ:
Installing shared extensions: /usr/lib/php/extensions/debug-non-zts-20220829/
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° extension_dir ΡΠ°ΠΉΠ»Π° php.ini ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π»Π΅ΠΆΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ mongodb.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.ini ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΡΠ°ΠΉΠ» mongodb.so Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π΅ΡΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ.
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ Π² ΡΠ°ΠΉΠ» php.ini Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ:
extension=mongodb.so