【发布时间】:2011-11-07 04:47:03
【问题描述】:
我找不到有关在 Mac 上安装 MySQLi 的说明。需要说明的是,MySQL 是最新的,我正在运行 PHP 5。如何安装它?我什至从哪里得到它?谢谢你的帮助。我将向回答此问题的人投赞成票并打勾!
【问题讨论】:
我找不到有关在 Mac 上安装 MySQLi 的说明。需要说明的是,MySQL 是最新的,我正在运行 PHP 5。如何安装它?我什至从哪里得到它?谢谢你的帮助。我将向回答此问题的人投赞成票并打勾!
【问题讨论】:
使用php-mysqlnd 而不是php-mysql。在 Linux 上,使用apt-get 安装:
apt-get install php-mysqlnd
【讨论】:
apt-get install php-mysqlnd
Package 'php-mysqlnd' has no installation candidate 具有标准配置,所以我建议使用 stackoverflow.com/a/37910795/461982
MySQLi 是 PHP 的一部分。应该有一个 php-mysqli 类型的包可用,或者您可以获取 PHP 源并重新编译启用的 mysqli。您可能已经安装了它,但它是作为一个模块完成的并且被禁用。检查你的 php.ini 是否有 extension=mysqli.so 或类似的。它可能被注释掉,或者 .so 文件存在于您的扩展目录中,但未通过该 extension= 指令链接到 PHP。
【讨论】:
yum install php-mysqli 然后重新启动 apache(在 centos 6.8 service httpd restart 上)并且它工作。这是在克服了 yum install php-mbstring 类似解决的“mbstring”错误之后
这是我在基于 Debian 的机器 (ubuntu) 上安装它的方式:
php 7:
sudo apt-get install php7.0-mysqli
php 5:
sudo apt-get install php5-mysqli
【讨论】:
apk add --update php-mysqli。
mysqli()
这篇文章讲得很清楚,如何用 EachApache 安装 MySqli。这也适用于我。
使用 EachApache 安装 mysqli:
以“root”用户身份登录 WHM。
要么搜索“EasyApache”,要么转到“软件”>“EasyApache”
向下滚动并选择构建选项(以前保存的配置)
点击开始“根据配置文件开始自定义”
选择Apache的版本,点击“下一步”。
选择PHP版本,点击“下一步”。
在“短选项列表”中选择其他选项
选择“详尽的选项列表”并查找“MySQL 改进扩展”
点击“保存并构建”
【讨论】:
您应该在 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
仅修改(取消注释)延长线对我来说是不够的。希望对你有帮助
【讨论】:
Call to undefined function mysqli_connect() 的错误,我还需要在这里做什么。请帮助
这里是安装细节的链接: http://php.net/manual/en/mysqli.installation.php
如果您使用的是 Windows 或 Linux:
- 在大多数情况下,安装 PHP 和 MySQL 软件包时会自动安装 MySQLi 扩展。
【讨论】:
对于 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 服务器。
【讨论】:
由于您使用的是 Mac,请打开终端,然后
找到 php.ini,然后 sudo 打开它,例如,使用 nano 编辑器
找到使用control+w搜索“mysqli.default_socket”,换行为
使用 control+x 然后按“y”和“return”来保存文件。必要时重启 Aapche。
现在你应该可以运行mysqli了。
【讨论】:
我最近放弃了 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,然后你就可以开始了
【讨论】:
sudo apt-get -y -f install php7.0-mysql
【讨论】:
如果您使用 ubuntu 16.04(可能及更高版本),请执行此操作
sudo phpenmod mysqli
sudo service php7.0-fpm restart
【讨论】:
我遇到了同样的问题,我从 WHM 转到 EasyApache4,点击自定义按钮,然后点击 PHP 扩展选项卡。我选择并安装了扩展程序 php72-php-mysqlnd,我的问题已解决
【讨论】:
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"
【讨论】:
由于这些答案中的许多都是旧的,这里是如何为 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:
【讨论】:
在 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的同一文件夹中
注意:在这个 php.ini 文件中取消注释是通过删除 start ;从线。
【讨论】:
要解决这个问题,你应该运行
sudo apt-get install php7.4-mysqli
【讨论】: