别名和已弃用的 Mysqli 函数

目录

添加注释

用户贡献的注释 8 个注释

1
nulled elitscripts2000 at yahoo dot com
9 年前
如果您需要安装 mysqli 扩展,则无需重新编译 PHP5 或 PHP5-fpm...

apt-get install php5-mysqlnd

将安装 mysql、mysqli 和 mysqlnd

如果您从源代码编译 PHP,那么在编译配置中添加 -use-mysqli。

这是 Debian 和 Ubuntu。或者至少是 Ubuntu。
2
php at arwin dot net
19 年前
对于那些在使用 --with-mysql 和 --with-mysqli 编译时遇到问题的人,我在以下 URL 找到了解决方案

http://bugs.php.net/bug.php?id=29860&edit=1

rjanson at msn dot com 写道

好的,终于有答案了!

我检查了 Makefile 并找到了以下行

EXTRA_LIBS = -lcrypt -lcrypt -lmysqlclient -lpng -lz -lz -lresolv -lm
-ldl -lnsl -lxml2 -
lz -lm -lxml2 -lz -lm -lmysqlclient -lcrypt -lnsl -lm -lz -lnss_files
-lnss_dns -lresolv -lnss_files
-lnss_dns -lresolv -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lcrypt

通过删除此行上的一个 -lmysqlclient 条目,我能够
成功使用 mysql 和 mysqli 进行 make 和 make install。作为
由 phpInfo() 确认。

我不确定为什么其他库有多个条目,并且不会导致
make 崩溃。
2
Yair Lapin
19 年前
我在多次尝试后成功安装了对 mysql 4.1.7 数据库的 php 支持,因为说明不够清楚。
我有一台运行 Linux SuSe 9 企业版的服务器,上面安装了 Apache 1.3.31。我从 rpm 文件中安装了 mysql,我将 php 4.3.9 安装为动态库。此版本的数据库需要自己的客户端库,否则 php 中的 mysql 函数将无法工作。
配置必须如下

./configure --with-msqli=/usr/bin/mysql_config --with-mysql=/usr --with-apxs=/usr/local/apache/bin/apxs

必须在您的机器上安装正确的 mysql 库

MySQL-devel-4.1.7-0
MySQL-shared-4.1.7-0
1
nathansquires at pacbell dot net
19 年前
如果您想使用 Mysql 和 mysqli 扩展构建 php,请确保您的 mysql 发行版附带共享库,或者自己使用共享库构建 mysql。仅使用静态 mysql 库,编译过程将失败。
0
Daniel Sowden
16 年前
我在 Mac OS X 上编译 PHP 5.2.5 并启用 mysqli 时遇到了问题。这个问题是否仅对我而言,我不知道,因此我将它发布在这里,供其他遇到同样问题的人参考。配置将一直运行到最后,但我看到它告诉我某些内容失败了,并且可能是乱七八糟的。检查 debug.log 后,我注意到以下内容

dyld: Library not loaded: /usr/local/mysql/lib/mysql/libmysqlclient.15.dylib
Referenced from: /Users/daniel/desktop/php -5.2.5/sapi/cli/php
Reason: image not found
/bin/sh: line 1: /Users/daniel/desktop/php -5.2.5/tmp-php.ini: Permission denied
dyld: Library not loaded: /usr/local/mysql/lib/mysql/libmysqlclient.15.dylib
Referenced from: /Users/daniel/desktop/php -5.2.5/sapi/cli/php
Reason: image not found
make: [test] Error 133 (ignored)

在与我的电脑周旋了一个小时并对它大骂了无数脏话之后,我重新查看了错误,并注意到

"/usr/local/mysql/lib/<b>mysql/</b>libmysqlclient.15.dylib

我不知道为什么它使用此路径,但当我意识到它有多简单时,我拍了一下脑门!我通过创建一个名为 mysql 的链接并将其链接回自身来解决了这个问题

cd /usr/local/mysql/lib
sudo ln -s ./ mysql

问题解决!我可能应该弄清楚为什么它会这样做,但这样做更简单,并且避免了我更多的沮丧。
0
marcus at synchromedia dot co dot uk
16 年前
对于那些无法让 MySQLi 工作的人,还有另一种即将变得越来越常见的方法

https://dev.mysqlserver.cn/downloads/connector/php-mysqlnd/

这是从 PHP6 反向移植的新 MySQL 本地驱动程序,它用一个不需要任何本地 MySQL 客户端库或二进制文件的版本替换了 MySQLi。
0
neil
19 年前
我花了很多时间才找到这个答案

自 PHP5 以来,许多人都在遇到安装问题。我发现当升级到版本 5 时,许多应用程序都坏了。我尝试安装 mysql 和 mysqli,但遇到了问题。

以下是解决方案

执行完以下操作后

./configure --with-mysql=/path/to/mysql_config --with-mysqli=/path/to/mysql_config

执行以下操作

"
如果您想同时使用旧的 mysql 和新的 mysqli 接口,请将 Makefile 加载到您的编辑器中,并搜索以 EXTRA_LIBS 开头的行;它包含了 -lmysqlclient 两次;删除第二个实例
"

然后您可以

make
make install

......
请注意:必须安装 mysql-dev,否则您将找不到 mysql_config。我安装了 mysql-dev rpm

此外:有关 Makefile 中 -libmysqlclient 的重复实例的信息来自 Michael Kofler。应向他表示感谢。他在以下链接中提供了更多详细信息

http://www.kofler.cc/forum/forumthread.php?rootID=3571
-1
severin dot kacianka at aon dot at
20 年前
我尝试了 Marco Kaiser 的方法来获得 mysql_* 和 mysqli_*,但对我来说失败了。但是,我可以通过以下方式使其工作
首先,我根据手册安装了 MySQL 4.1.3 二进制发行版。然后,我只传递了以下 ./configure 参数

--with-mysql=/path/to/mysql4.1.3
--with-mysqli=/path/to/mysql4.1.3/bin/mysql_config

这启用了 mysql_* 和 mysqli_* 函数。

Severin Kacianka
To Top