【问题标题】:How to install MySQLi on MacOS如何在 MacOS 上安装 MySQLi
【发布时间】:2011-11-07 04:47:03
【问题描述】:

我找不到有关在 Mac 上安装 MySQLi 的说明。需要说明的是,MySQL 是最新的,我正在运行 PHP 5。如何安装它?我什至从哪里得到它?谢谢你的帮助。我将向回答此问题的人投赞成票并打勾!

【问题讨论】:

    标签: php macos mysqli


    【解决方案1】:

    使用php-mysqlnd 而不是php-mysql。在 Linux 上,使用apt-get 安装:

    apt-get install php-mysqlnd
    

    【讨论】:

    • 这很有帮助。我有 php5-mysql 并且每当我尝试通过 mysqli 连接时页面返回空响应。即使 phpinfo 显示 mysqli 已加载,Chrome 中的响应消息为空,Firefox 中的连接重置。
    • 当你将 Docker 与过时版本的 PHP 一起使用时,事实证明 apt-get 不是为 PHP 模块安装库的正确方法:无论你使用什么版本的 PHP,它都会获取新版本'正在使用。幸运的是,有一个很棒的实用程序 docker-php-ext-install - 它可以轻松地将所需的模块库添加到您的 PHP 安装中。希望这会对某人有所帮助。
    • 您为 php 5 呈现,较新版本应为 apt-get install php-mysqlnd
    • 为什么? mysqlnd和mysqli有什么区别?
    • @AndreasHartmann 这似乎是“我使用这个晦涩的版本,因为他们优化了 XX 行”的答案之一,但 Package 'php-mysqlnd' has no installation candidate 具有标准配置,所以我建议使用 stackoverflow.com/a/37910795/461982
    【解决方案2】:

    MySQLi 是 PHP 的一部分。应该有一个 php-mysqli 类型的包可用,或者您可以获取 PHP 源并重新编译启用的 mysqli。您可能已经安装了它,但它是作为一个模块完成的并且被禁用。检查你的 php.ini 是否有 extension=mysqli.so 或类似的。它可能被注释掉,或者 .so 文件存在于您的扩展目录中,但未通过该 extension= 指令链接到 PHP。

    【讨论】:

    • 您需要下载以使其工作的包的名称是php5-mysql。通常,它会在安装后自动激活模块,因此您实际上不需要修改 php.ini 文件。
    • 我只是 yum install php-mysqli 然后重新启动 apache(在 centos 6.8 service httpd restart 上)并且它工作。这是在克服了 yum install php-mbstring 类似解决的“mbstring”错误之后
    【解决方案3】:

    这是我在基于 Debian 的机器 (ubuntu) 上安装它的方式:

    php 7:

    sudo apt-get install php7.0-mysqli
    

    php 5:

    sudo apt-get install php5-mysqli
    

    【讨论】:

    • 在 alpine docker 映像上,如果您需要手动安装,则为 apk add --update php-mysqli
    • 你能帮我在windows中为php7启用mysqli()
    • @Shambhu The answer below 没有帮助?
    【解决方案4】:

    这篇文章讲得很清楚,如何用 EachApache 安装 MySqli。这也适用于我。

    使用 EachApache 安装 mysqli:

    1. 以“root”用户身份登录 WHM。

    2. 要么搜索“EasyApache”,要么转到“软件”>“EasyApache”

    3. 向下滚动并选择构建选项(以前保存的配置)

    4. 点击开始“根据配置文件开始自定义”

    5. 选择Apache的版本,点击“下一步”。

    6. 选择PHP版本,点击“下一步”。

    7. 在“短选项列表”中选择其他选项

    8. 选择“详尽的选项列表”并查找“MySQL 改进扩展”

    9. 点击“保存并构建”

    【讨论】:

    • 对于那些正在使用 WHM 的人来说,这正是我所需要的。感谢您发布!
    • 我在仪表板上看不到软件 > EasyApache。我在哪里可以找到它?
    • 谢谢。正是我需要的。
    • 请注意,您的链接现在返回错误 404 消息:(
    【解决方案5】:

    您应该在 php.ini 文件中编辑 行(我在此示例中使用的是 windows):

    -第一个是关于扩展目录位置。见下文:

    ; Directory in which the loadable extensions (modules) reside.
    ; http://php.net/extension-dir
    ; extension_dir = "./"
    ; On windows:
    extension_dir = "C:/php/ext"
    

    -第二个是关于扩展本身:

    extension=php_mysqli.dll
    

    仅修改(取消注释)延长线对我来说是不够的。希望对你有帮助

    【讨论】:

    • 他的mac不太可能运行windows。
    • 我在 Windows 上,这很有帮助,所以我想我们可以称之为附带帮助,谢谢。哦,感谢 PHP 提供合理的默认参数,天哪,这是一种垃圾语言。
    • 我已经取消了这两行的注释。即便如此,我还是遇到了Call to undefined function mysqli_connect() 的错误,我还需要在这里做什么。请帮助
    【解决方案6】:

    这里是安装细节的链接: http://php.net/manual/en/mysqli.installation.php

    如果您使用的是 WindowsLinux
    - 在大多数情况下,安装 PHP 和 MySQL 软件包时会自动安装 MySQLi 扩展。

    【讨论】:

      【解决方案7】:

      对于 Windows:3 个步骤

      第一步: 只需要在php.ini中给出ext文件夹路径

      这里

      ; Directory in which the loadable extensions (modules) reside.
      ; http://php.net/extension-dir
      ; extension_dir = "./"
      ; On windows:
       extension_dir = "C:\php7\ext"
      

      第 2 步: 删除评论

      extension=php_mysqli.dll
      

      第 3 步: 重启 Apache 服务器。

      【讨论】:

        【解决方案8】:

        由于您使用的是 Mac,请打开终端,然后

        • cd /etc

        找到 php.ini,然后 sudo 打开它,例如,使用 nano 编辑器

        • 纳米 php.ini

        找到使用control+w搜索“mysqli.default_socket”,换行为

        • mysqli.default_socket = /tmp/mysql.sock

        使用 control+x 然后按“y”和“return”来保存文件。必要时重启 Aapche。

        现在你应该可以运行mysqli了。

        【讨论】:

          【解决方案9】:

          我最近放弃了 Xampp,转而使用 Mac Sierra 上的本机 Apache,因为项目需要新的 php。 Sierra 附带 php 5.6.25,但它没有开箱即用 mysql_*,经过大量谷歌搜索,我发现这个网站真的很有帮助 - https://php-osx.liip.ch。事实证明 php 5.6.25 确实支持 mysql_* 但未启用。选择你的php版本并下载它,它会为你的php生成一个合适的php.ini,然后你就可以开始了

          【讨论】:

            【解决方案10】:
            sudo apt-get -y -f install php7.0-mysql
            

            【讨论】:

            • 成功了!但我很困惑,我想安装 mysqli 扩展,所以我整天搜索 mysqli.so。我从来没有想过这个问题会通过安装php7.0-mysql来解决。那么 mysqli 和 php7.0-mysql 之间的关系是什么,为什么你会有安装 php7.0-mysql 的想法。
            【解决方案11】:

            如果您使用 ubuntu 16.04(可能及更高版本),请执行此操作

             sudo phpenmod mysqli
             sudo service php7.0-fpm restart
            

            【讨论】:

              【解决方案12】:

              我遇到了同样的问题,我从 WHM 转到 EasyApache4,点击自定义按钮,然后点击 PHP 扩展选项卡。我选择并安装了扩展程序 php72-php-mysqlnd,我的问题已解决

              【讨论】:

                【解决方案13】:

                Docker官方php containers上的mysqli:

                支持 mysqli 的标记 php 版本可能仍然没有配置开箱即用的 mysqli,您可以使用 docker-php-ext-install 实用程序安装它(请参阅 Konstantin 的评论)。这是内置的,但也可以从docker-php-extension-installer project 获得。

                它们可用于在 Dockerfile 中添加 mysqli,例如:

                FROM php:5.6.5-apache
                COPY ./php.ini /usr/local/etc/php/
                RUN docker-php-ext-install mysqli
                

                或在使用通用 php 容器的 compose 文件中,然后将 mysqli 安装作为安装步骤注入command

                  web:
                    image: php:5.6.5-apache
                    volumes:
                      - app:/var/www/html/
                    ports:
                      - "80:80"
                    command:  >
                      sh -c "docker-php-ext-install mysqli &&
                             apache2-foreground"
                

                【讨论】:

                  【解决方案14】:

                  由于这些答案中的许多都是旧的,这里是如何为 Easyapache 4 安装 mysqli。

                  如果您尝试在 WHM 中的 PHP 扩展下搜索 mysqli,您将找不到它。要知道安装 mysqli 需要哪个扩展,您需要在终端中运行此命令

                  repoquery -q --whatprovides 'ea-php70-php-mysqli' | sort -V | tail -1
                  

                  应该返回类似的东西

                  ea-php70-php-mysqlnd-0:7.0.33-1.1.4.cpanel.x86_64
                  

                  您真正需要的只是 mysqlnd 复制它

                  使用 EachApache4 安装 mysqli:

                  • 登录 WHM。
                  • 搜索“EasyApache4”
                  • 在顶部查找“当前安装的软件包”,然后单击“自定义”按钮
                  • 在左侧面板上单击“PHP 扩展”
                  • 搜索 mysqlnd
                  • 您应该会看到类似“php70-php-mysqlnd”的内容
                  • 切换开关以启用它
                  • 在左侧面板上点击评论
                  • 点击底部的“配置”
                  • 大功告成

                  【讨论】:

                    【解决方案15】:

                    在 php 5.3.0 及更高版本上,您不需要在 windows 上专门安装 mysqli。 而是遵循如下所示的简单步骤。

                    找到 php.ini 文件 [如果没有,则表示您没有将 php.ini-development 或 php.ini-production 文件复制为 php.ini 来进行配置]

                    有两件事要做 1.取消注释并设置正确的路径extension_dir =“ext”基本上设置你在php中找到ext文件夹的路径,即使它在你运行php-cgi.ex的同一文件夹中

                    1. 取消注释 mysqli 库扩展 extension=mysqli

                    注意:在这个 php.ini 文件中取消注释是通过删除 start ;从线。

                    【讨论】:

                    • 不要针对不同的问题发布相同的答案。回答一次并投票以关闭所有其他重复的问题。
                    • 另外,您应该检查您要发布的答案是否已经发布。
                    【解决方案16】:

                    要解决这个问题,你应该运行

                    sudo apt-get install php7.4-mysqli

                    【讨论】:

                    • Illuminate\Database\QueryException 在供应商/laravel/framework/src 找不到驱动程序(SQL: select * from information_schema.tables where table_schema = Cplus and table_name = migrations and table_type = 'BASE TABLE') /Illuminate/Database/Connection.php:671 667▕ // 如果在尝试运行查询时发生异常,我们将格式化错误 668▕ // 消息以包含与 SQL 的绑定,这将使此异常 a
                    猜你喜欢
                    • 2012-10-16
                    • 2021-09-19
                    • 2011-07-26
                    • 2019-01-10
                    • 2017-08-25
                    • 2013-02-03
                    • 2017-12-11
                    • 2019-04-06
                    相关资源
                    最近更新 更多