tengo php 7.4 instalado en mi macbook pro m1
% php -v PHP 7.4.15 (cli) (built: Feb 26 2021 09:28:23) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.15, Copyright (c), by Zend TechnologiesEstoy tratando de instalar el controlador mongodb ejecutando:
sudo pecl install mongodbPero falla después de un tiempo:
mp/pear/temp/mongodb/src/contrib/ -DHAVE_CONFIG_H -g -O2 -c /private/tmp/pear/temp/mongodb/php_phongo.c -fno-common -DPIC -o .libs/php_phongo.o In file included from /private/tmp/pear/temp/mongodb/php_phongo.c:29: In file included from /opt/homebrew/Cellar/php@7.4/7.4.15_1/include/php/ext/spl/spl_iterators.h:24: /opt/homebrew/Cellar/php@7.4/7.4.15_1/include/php/ext/pcre/php_pcre.h:25:10: fatal error: 'pcre2.h' file not found #include "pcre2.h" ^~~~~~~~~ 1 error generated. make: *** [php_phongo.lo] Error 1 ERROR: `make' failedprobé con
arch -x86_64 sudo pecl install mongodbpero da como resultado el mismo error.
Alguien sabe como puedo solucionar esto por favor O si puedo instalar el controlador mongodb sin usar pecl. Gracias por adelantado.
Finalmente he resuelto mi problema. Seguí estos pasos desde https://github.com/mongodb/mongo-php-driver/issues/1159
Después de instalar una versión más nueva de PHP donde anteriormente usé 7.3.24 y actualicé a 7.4.16 .
Todavía tenía el mismo problema pero un archivo diferente:
error fatal: archivo 'pcre2.h' no encontrado #incluir "pcre2.h"
A partir de este error, traté de verificar los archivos en el sistema de archivos Big Sur de MacOs y al final encontré dónde se encuentra pcre2.h, y extrañamente estaba siendo llamado en la carpeta pcre, así que copié manualmente de la carpeta pcre2 a pcre
$cp /opt/homebrew/Cellar/pcre2/10.36/include/pcre2.h /opt/homebrew/Cellar/php\@7.4/7.4.16/include/php/ext/pcre/pcre2.hLuego, instalé mongodb usando
$brew install mongodbDespués de eso, una vez más intenté
$sudo pecl install mongodbFinalmente, funcionó. Sin embargo, no estoy seguro de si esta es una buena manera de resolver el problema agregando manualmente un archivo de encabezado al directorio. (Lo siento, todavía soy nuevo en el entorno MacOs, acabo de comprar un mac mini m1 la semana pasada para desarrollar mis habilidades de programación)
Si tuviera que instalar varias versiones de php desde homebrew, asegúrese de estar usando la versión actual como desea. Puede verificar la versión usando which php .
$brew unlink php@7.4 $brew link php@5.6 --forcecréditos: https://www.markhesketh.com/switching-multiple-php-versions-on-macos/
Nuevo error
Instalación exitosa:
Tuve el mismo problema con PHP 7.3, lo resolví simplemente ejecutando los siguientes comandos:
cp /opt/homebrew/Cellar/pcre2/10.38/include/pcre2.h /opt/homebrew/Cellar/php@7.3/7.3.31/include/php/ext/pcre/pcre2.hLuego lo instalé con éxito:
sudo pecl install mongodbcp /Applications/MAMP/Library/include/pcre2.h /Applications/MAMP/bin/php/php8.0.8/include/php/ext/pcre/pcre2.hentonces corre
sudo pecl install mongodb