【问题标题】:Install mongodb on mac os 10.15 for php7在 mac os 10.15 for php7 上安装 mongodb
【发布时间】:2020-03-03 08:29:08
【问题描述】:

我已经在我的 mac Catalina 10.15 上安装了 mongodb。我也安装了php7.3版本。现在,我想在 PHP 中使用 mongoClient() 类。我试过 composer require mongodb/mongodb 但它说缺少 mongodb 扩展:

Using version ^1.5 for mongodb/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- mongodb/mongodb 1.5.1 requires ext-mongodb ^1.6 -> the requested PHP extension mongodb is missing from your system.
- mongodb/mongodb 1.5.0 requires ext-mongodb ^1.6 -> the requested PHP extension mongodb is missing from your system.
- Installation request for mongodb/mongodb ^1.5 -> satisfiable by mongodb/mongodb[1.5.0, 1.5.1].

To enable extensions, verify that they are enabled in your .ini files:
- /etc/php.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

Installation failed, reverting ./composer.json to its original content.

所以我尝试使用the php doc 安装 php 的扩展,但我收到了这个错误:

pear/install/mongodb/php_phongo.c  -fno-common -DPIC -o .libs/php_phongo.o
/private/tmp/pear/install/mongodb/php_phongo.c:22:10: fatal error: 'php.h' file not found
#include <php.h>
          ^~~~~~~
1 error generated.
make: *** [php_phongo.lo] Error 1
ERROR: `make' failed

有什么帮助吗?

【问题讨论】:

  • 在 mac 上安装 php 工具似乎很困难。您使用哪个框架来安装它? PECL,布鲁?你安装了autoconf吗?最重要的是 PHP 驱动程序页面顶部有一个警告 - 警告 此扩展已被弃用。相反,应该使用 MongoDB 扩展。 Gads,他们在说什么。我需要一个算命先生来帮忙。
  • @barrypucker 我使用mac os自带的PHP版本,PECL为php安装mongodb驱动

标签: mongodb php-7 macos-catalina


【解决方案1】:

升级到 MacOS Catalina 后我也遇到了同样的问题

运行这两个命令;

  1. 酿造医生
  2. brew 链接 --overwrite php

【讨论】:

    【解决方案2】:

    我还将 macos 更新到 10.15 catalina 并开始设置。与安装 mongodb 驱动程序

    时出现的错误相同

    解决我的问题后,我通过以下步骤更新了答案:

    第 1 步: 运行命令:brew install php71

    第 2 步: 编辑/etc/apache2/httpd.conf目录下的httpd.conf

    添加下一行

    LoadModule php7_module /usr/local/opt/php@7.1/lib/httpd/modules/libphp7.so

    然后检查应该没有启用其他 php7_module。

    同时添加这些行

    <FilesMatch \.php$>
        SetHandler application/x-httpd-php
    </FilesMatch>
    

    第三步:重启apache:sudo apachectl restart

    第 4 步: 如果您需要在 PATH 运行中首先使用 php@7.1: echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile

    要让编译器找到 php@7.1,您可能需要设置: 导出 LDFLAGS="-L/usr/local/opt/php@7.1/lib" export CPPFLAGS="-I/usr/local/opt/php@7.1/include"

    第 5 步: 现在启动 php@7.1 并在登录时重新启动: brew服务启动php@7.1

    第 6 步: 打开新终端并检查 php 版本应该是 7.1

    第 7 步: 然后运行命令:sudo pecl install MongoDB

    & 它将成功安装 php mongodb 驱动程序而没有任何错误。 确保应遵循所有步骤!

    我执行这些步骤来解决我的 laravel 项目的 MongoDB 驱动程序问题,但未找到。

    【讨论】:

    • 感谢您的回答。我没有第 1 步的路径。地窖中没有 pho 目录/知道在哪里可以找到它吗?
    • 我更新了我的答案,希望能帮助macOS用户为laravel项目等安装PHP MongoDB驱动
    【解决方案3】:

    我通过使用自制软件安装 PHP7.3 解决了这个问题 这是一个帮助Install PHP 7.3 + xdebug on MacOS Catalina (with homebrew)

    的帖子

    【讨论】:

      猜你喜欢
      • 2020-05-11
      • 1970-01-01
      • 2013-11-10
      • 2019-07-12
      • 2020-02-16
      • 2016-10-08
      • 1970-01-01
      • 2018-05-29
      • 1970-01-01
      相关资源
      最近更新 更多