Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

873
Visualizações
pecl fails installing mongodb driver on Apple Silicon (M1)

I have php 7.4 installed on my 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 Technologies

I'm trying to install the mongodb driver running:

sudo pecl install mongodb

But fails after a while:

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' failed

I tried with

arch -x86_64 sudo pecl install mongodb

but results in the same error.

Somebody knows how can I solve this please? Or if I can install the mongodb driver without using pecl. Thanks in advance.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

I have finally solved my problem. I followed these steps from https://github.com/mongodb/mongo-php-driver/issues/1159

After installing a newer PHP version where previously I used 7.3.24 and updated to 7.4.16.

Still had the same issue but diffrent file:

fatal error: 'pcre2.h' file not found #include "pcre2.h"

From this error I tried to check the files in the MacOs Big Sur File system and in the end I found where the pcre2.h is located, and oddly it was being called in the pcre folder, so I manually copied from the pcre2 folder to pcre

The solution that I used:

$cp /opt/homebrew/Cellar/pcre2/10.36/include/pcre2.h /opt/homebrew/Cellar/php\@7.4/7.4.16/include/php/ext/pcre/pcre2.h

Then, I installed mongodb using

$brew install mongodb

After that, I once again tried

$sudo pecl install mongodb

Finally, it worked. However, I'm not sure if this is a good way to solve the problem by manually adding a header file to the directory. (Sorry I'm still new to the MacOs Environment, just bought a mac mini m1 last week for developing my programming skills)

If you were to install php multiple versions from homebrew make sure you are using the current version as you wanted to. You could check the version by using which php.

To switch from 7.4 to 5.6

$brew unlink php@7.4
$brew link php@5.6 --force

credits: https://www.markhesketh.com/switching-multiple-php-versions-on-macos/

New error New error

Success Installation: Success Installation

over 4 years ago · Santiago Trujillo Relatório

0

I had the same issue with PHP 7.3, I solved it just by running the following commands:

cp /opt/homebrew/Cellar/pcre2/10.38/include/pcre2.h /opt/homebrew/Cellar/php@7.3/7.3.31/include/php/ext/pcre/pcre2.h

Then installed it successfully:

sudo pecl install mongodb
over 4 years ago · Santiago Trujillo Relatório

0

cp /Applications/MAMP/Library/include/pcre2.h /Applications/MAMP/bin/php/php8.0.8/include/php/ext/pcre/pcre2.h

then run

sudo pecl install mongodb
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda