问题标签 [mysqlnd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
235 浏览

php - 使用更新的 MySQL 库修复 PHP 数据库连接失败

我花了几个小时试图解决从 CentOS 5.5 到 7 的迁移,其中除了基于 PHP 的站点连接到 MySQL 服务器的 Web 站点之外,其他一切正常。Perl 运行良好。CLI 命令运行良好。我尝试了 Stack Overflow 和其他地方列出的所有解决方案:

  • 确保 /etc/hosts 包含 localhost 作为 127.0.0.1 的第一个条目
  • 检查 PHP 是否正确指向正确的套接字
  • 尝试在连接设置中交换 localhost 和 127.0.0.1
  • 检查 php.ini 是否有任何设置在我的功能性 CentOS 5.5 设置和新的 CentOS 7 安装之间存在差异。

烦人的是,我无法让 PHP 转储错误,无论是通过 Apache 还是其他地方。这一切都令人抓狂。

0 投票
3 回答
1602 浏览

php - PHP:安装 mysqlnd_ms 失败:make:*** [php_mysqlnd_ms.lo] 错误 1

我正在为php安装mysqlnd_ms包,但是make命令报错:

我的 PHP 版本:

[root@uoo insFile]# php -v

PHP 5.6.12 (cli)(构建时间:2015 年 8 月 30 日 00:04:44) 版权所有 (c) 1997-2015 The PHP Group Zend Engine v2.6.0,版权所有 (c) 1998-2015 Zend Technologies

我的操作系统:

[root@uoo ~]# cat /etc/centos-release

CentOS Linux 版本 7.2.1511(核心)

已安装的所有 php 模块:

这是我使用 pecl 的安装过程:

[root@uoo insFile]# pecl install mysqlnd_ms

正在下载 mysqlnd_ms-1.5.2.tgz ...

开始下载mysqlnd_ms-1.5.2.tgz(385916字节)

..................................................... ................................完成:385,916 字节

36个源文件,构建

运行:phpize

配置:

PHP API 版本:20131106

Zend 模块 API 编号:20131226

Zend Extension API 编号:220131226

在 /tmp/pear/temp/pear-build-rootvgIJMs/mysqlnd_ms-1.5.2 中构建

运行:/tmp/pear/temp/mysqlnd_ms/configure

检查处理长行的 grep 和 -e... /usr/bin/grep

检查 egrep... /usr/bin/grep -E

检查不截断输出的 sed... /usr/bin/sed

正在检查 cc ... cc

检查 C 编译器是否工作......是的

检查 C 编译器默认输出文件名... a.out

检查可执行文件的后缀...

检查我们是否在交叉编译...否

检查目标文件的后缀... o

检查我们是否正在使用 GNU C 编译器...是的

检查 cc 是否接受 -g... 是

检查 cc 选项以接受 ISO C89... 不需要

检查如何运行 C 预处理器... cc -E

检查 icc... 不

检查 suncc... 否

检查 cc 是否同时理解 -c 和 -o ......是的

检查系统库目录... lib

检查编译器是否支持 -R... 否

检查编译器是否支持 -Wl,-rpath,... 是

检查构建系统类型... x86_64-unknown-linux-gnu

检查主机系统类型... x86_64-unknown-linux-gnu

检查目标系统类型... x86_64-unknown-linux-gnu

检查 PHP 前缀... /usr/local/php

检查 PHP 包括... -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/ usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib

检查 PHP 扩展目录... /usr/local/php/lib/php/extensions/no-debug-zts-20131226

检查 PHP 安装的头文件前缀... /usr/local/php/include/php

检查是否启用调试...否

检查 zts 是否启用...否

检查 re2c ...不

配置:警告:如果要重新生成 PHP 解析器,则需要 re2c 0.13.4 或更高版本。

检查 gawk... gawk

检查是否启用 mysqlnd_ms 支持...是的,共享

检查是否在 mysqlnd_ms 中启用表过滤器...否

检查是否通过mysqlnd_ms中的mysqlnd_qc查询缓存...否

检查 cc 使用的 ld... /usr/bin/ld

检查链接器 (/usr/bin/ld) 是否为 GNU ld... 是

检查 /usr/bin/ld 选项以重新加载目标文件... -r

检查 BSD 兼容的 nm... /usr/bin/nm -B

检查 ln -s 是否有效...是的

检查如何识别依赖库... pass_all

检查 ANSI C 头文件...是的

检查 sys/types.h... 是

检查 sys/stat.h... 是的

检查stdlib.h ...是的

检查 string.h... 是的

检查内存.h ...是的

检查strings.h ...是的

检查 inttypes.h ... 是的

检查stdint.h ...是的

检查 unistd.h ...是的

检查 dlfcn.h 的可用性...是的

检查 dlfcn.h 是否存在...是的

检查 dlfcn.h... 是的

检查命令行参数的最大长度... 1572864

检查命令以解析 cc 对象的 /usr/bin/nm -B 输出...好的

检查 objdir ... .libs

检查 ar...ar

检查ranlib...ranlib

检查脱衣...脱衣

检查 cc 是否支持 -fno-rtti -fno-exceptions... 否

检查 cc 选项以生成 PIC... -fPIC

检查 cc PIC 标志 -fPIC 是否有效...是

检查 cc static flag -static 是否有效...否

检查 cc 是否支持 -c -o file.o... 是

检查 cc 链接器 (/usr/bin/ld -m elf_x86_64) 是否支持共享库...是

检查 -lc 是否应显式链接到... 否

检查动态链接器特性... GNU/Linux ld.so

检查如何将库路径硬编码到程序中...立即

检查是否可以剥离库......是的

检查 libtool 是否支持共享库...是的

检查是否构建共享库...是的

检查是否构建静态库...否

创建 libtool

将配置标签“CXX”附加到 libtool

配置:创建 ./config.status

config.status:创建 config.h

运行:制作

/bin/sh /tmp/pear/temp/pear-build-rootr7CW9Q/mysqlnd_ms-1.5.2/libtool --mode=compile cc

-我。-I/tmp/pear/temp/mysqlnd_ms -DPHP_ATOM_INC

-I/tmp/pear/temp/pear-build-rootr7CW9Q/mysqlnd_ms-1.5.2/include

-I/tmp/pear/temp/pear-build-rootr7CW9Q/mysqlnd_ms-1.5.2/main

-I/tmp/pear/temp/mysqlnd_ms -I/usr/local/php/include/php

-I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM

-I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext

-I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2

-c /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c -o php_mysqlnd_ms.lo

mkdir .libs

抄送-I。-I/tmp/pear/temp/mysqlnd_ms -DPHP_ATOM_INC
-I/tmp/pear/temp/pear-build-rootr7CW9Q/mysqlnd_ms-1.5.2/include -I/tmp/pear/temp/pear-build-rootr7CW9Q/mysqlnd_ms -1.5.2/main -I/tmp/pear/temp/mysqlnd_ms -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php /include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date /lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c -fPIC -DPIC -o .libs/php_mysqlnd_ms.o /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:在函数中' zif_mysqlnd_ms_get_last_used_connection':

/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:293:2:警告:传递“zval_to_mysqlnd”的参数 2 从没有强制转换的指针中生成整数 [默认启用]

if (!(proxy_conn = zval_to_mysqlnd(handle TSRMLS_CC))) { ^ 在 /tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0 包含的文件中,

来自/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:34:/usr/local/php/include/php/ext/mysqlnd/mysqlnd_reverse_api.h:37:18:注意:预期为“无符号整数”,但参数为输入“无效***”</p>

PHPAPI MYSQLND * zval_to_mysqlnd(zval * zv, const unsigned int client_api_capabilities, unsigned int * save_client_api_capabilities TSRMLS_DC);

^ /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:293:2:错误:函数“zval_to_mysqlnd”的参数太少</p>

if (!(proxy_conn = zval_to_mysqlnd(handle TSRMLS_CC))) { ^ 在 /tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0 包含的文件中,

来自/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:34:/usr/local/php/include/php/ext/mysqlnd/mysqlnd_reverse_api.h:37:18:注意:在这里声明

PHPAPI MYSQLND * zval_to_mysqlnd(zval * zv, const unsigned int client_api_capabilities, unsigned int * save_client_api_capabilities TSRMLS_DC);

^ /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:在函数'zif_mysqlnd_ms_get_last_gtid'中:

/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:333:2:警告:传递“zval_to_mysqlnd”的参数 2 从没有强制转换的指针中生成整数 [默认启用] if (!(proxy_conn = zval_to_mysqlnd(handle TSRMLS_CC)) ) { ^ 在 /tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0 中包含的文件中,

来自/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:34:/usr/local/php/include/php/ext/mysqlnd/mysqlnd_reverse_api.h:37:18:注意:预期为“无符号整数”,但参数为type 'void ***'<br> PHPAPI MYSQLND * zval_to_mysqlnd(zval * zv, const unsigned int client_api_capabilities, unsigned int * save_client_api_capabilities TSRMLS_DC);

^ /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:333:2:错误:函数“zval_to_mysqlnd”的参数太少</p>

if (!(proxy_conn = zval_to_mysqlnd(handle TSRMLS_CC))) { ^ 在 /tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0 包含的文件中,

来自/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:34:

/usr/local/php/include/php/ext/mysqlnd/mysqlnd_reverse_api.h:37:18:注意:在这里声明

PHPAPI MYSQLND * zval_to_mysqlnd(zval * zv, const unsigned int client_api_capabilities, unsigned int * save_client_api_capabilities TSRMLS_DC);

^ /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:373:3: 警告:传递 'ms_ori mysqlnd_conn_methods->store_result' 的参数 2 从指针中生成整数而无需强制转换 [默认启用▽] if (!(res = MS_CALL_ORIGINAL_CONN_DATA_METHOD(store_result)(conn TSRMLS_CC))) { ^ /tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:373:3:注意:预期为“unsigned int”,但参数类型为“void ***”</p >

/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:373:3:错误:函数“ms_orig_mysqlnd_conn_methods->store_result”的参数太少</p>

/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:在函数'zif_mysqlnd_ms_set_qos'中:

/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:506:2: 警告:传递 'zval_to_mysqlnd' 的参数 2 从没有强制转换的指针生成整数 [默认启用] if (!(proxy_conn = zval_to_mysqlnd(handle TSRMLS_CC)) ) {

^

在 /tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0 包含的文件中,

来自/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:34:/usr/local/php/include/php/ext/mysqlnd/mysqlnd_reverse_api.h:37:18:注意:预期为“无符号整数”,但参数为输入“无效***”</p>

PHPAPI MYSQLND * zval_to_mysqlnd(zval * zv, const unsigned int client_api_capabilities, unsigned int * save_client_api_capabilities TSRMLS_DC);

^

/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:506:2:错误:函数“zval_to_mysqlnd”的参数太少</p>

if (!(proxy_conn = zval_to_mysqlnd(handle TSRMLS_CC))) {

^

在 /tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0 包含的文件中,

来自/tmp/pear/temp/mysqlnd_ms/php_mysqlnd_ms.c:34:/usr/local/php/include/php/ext/mysqlnd/mysqlnd_reverse_api.h:37:18:注意:在这里声明

PHPAPI MYSQLND * zval_to_mysqlnd(zval * zv, const unsigned int client_api_capabilities, unsigned int * save_client_api_capabilities TSRMLS_DC);

^

make: *** [php_mysqlnd_ms.lo] 错误 1

错误:“制作”失败

0 投票
1 回答
463 浏览

php - 使用 PhalconPHP/PDO 进行 ND 连接故障转移的 MySQL

Mysql-nd 手册的这一部分中,描述了如何在失去与从 MySQL 服务器的连接时实现推荐的故障转移方式。

我愿意在 PhalconPHP 中实现它。因为我有几个使用 Phalcon 和 Mysql-nd 的重要项目,所以在正确的地方做这件事对我来说非常重要。

试图找到一些文档,但找不到任何可以开始的示例。试图找到 EventManager 方法,在这里查看 Phalcon 文档和此处查看 Phalcon 文档,但找不到透明的方法。

最有吸引力的方法是使用事件管理器来捕获错误事件并在连接错误时再次查询。

1 更新

在阅读了我发现的一些 Phalcon 资源之后,可能无法以标准方式第二次运行相同的查询 - 我的意思是通过某种 PDO 参数或使用 PhalconsEventManager附加到db服务。我发现的一种可能尝试是在之后实际运行任何查询db:afterConnection事件发生后实际运行任何查询,但这不是解决方案。

2 更新

db:afterConnection几乎无法到达,而是可以在db:beforeQuery. 问题是,PDO 由 Phalcon 运行PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,因此当与从属设备的连接断开时,它无法到达db:afterConnection事件。可以通过 获取 PDO 实例db:beforeQuery并更改此属性EventManager,但它什么也没提供,因为即使我能够第二次发送相同的查询,我也找不到将其返回到适当位置的方法(无法覆盖查询结果during db:afterQuery)因为获取的语句不是事件发送的一部分,并且 Eventmanager 结果根本没有被使用

0 投票
1 回答
1296 浏览

php - 有没有办法只用 php.ini 来改变 mysqli 使用的库?

所以我尝试在共享主机上运行以下代码。

在那里它产生以下输出:

5.6.17致命错误:在第 29 行
调用未定义的方法mysqli_stmt::get_result()/home/user/public_html/beta/test_mysqli_asmallorange.php

在我的本地机器上它产生以下期望输出:

5.6.11-1ubuntu3.1array(1) { [0]=> string(8) "宗教" }

据我了解,问题是mysqli没有使用mysqlnd。我进行了测试,phpinfo()并拍了一张我认为是相关部分的照片:

在此处输入图像描述

配置命令:

'./configure' '--exec-prefix=/usr/local/php56' '--prefix=/usr/local/php56' '--with-config-file-scan-dir=/usr/local/php56 /conf.d' '--with-libdir=lib64' '--enable-bcmath' '--enable-calendar' '--enable-exif' '--enable-ftp' '--enable-gd-native -ttf' '--enable-libxml' '--enable-mbstring' '--enable-pdo' '--enable-soap' '--enable-sockets' '--enable-wddx' '--enable- zip' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-bz2' '--with-curl=/opt/curlssl/' '--with-freetype-dir=/ usr' '--with-gd' '--with-gettext' '--with-imap-ssl=/usr' '--with-imap=/opt/php_with_imap_client/' '--with-jpeg-dir= /usr' '--with-kerberos' '--with-libexpat-dir=/usr''--with-mcrypt=/opt/libmcrypt/' '--with-mhash=/opt/mhash/' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with -mysql=/usr' '--with-mysqli=/usr/bin/mysql_config' '--with-openssl-dir=/usr' '--with-openssl=/usr' '--with-pcre-regex ' '--with-pdo-mysql=shared' '--with-pdo-sqlite=shared,/usr' '--with-pdo-pgsql=shared' '--with-pgsql=shared,/usr/lib64 /pgsql' '--with-pic' '--with-png-dir=/usr' '--with-pspell' '--with-snmp' '--with-tidy' '--with-libxml- dir=/opt/xml2/' '--with-xmlrpc' '--with-xpm-dir=/usr' '--with-xsl=/opt/xslt/' '--with-zlib' '-- with-zlib-dir=/usr' '--enable-mysqlnd' '--enable-intl'--with-mhash=/opt/mhash/''--with-mysql-sock=/var/lib/mysql/mysql.sock'''--with-mysql=/usr'''--with-mysqli=/ usr/bin/mysql_config' '--with-openssl-dir=/usr' '--with-openssl=/usr' '--with-pcre-regex' '--with-pdo-mysql=shared' '- -with-pdo-sqlite=shared,/usr' '--with-pdo-pgsql=shared' '--with-pgsql=shared,/usr/lib64/pgsql' '--with-pic' '--with -png-dir=/usr' '--with-pspell' '--with-snmp' '--with-tidy' '--with-libxml-dir=/opt/xml2/' '--with-xmlrpc ' '--with-xpm-dir=/usr' '--with-xsl=/opt/xslt/' '--with-zlib' '--with-zlib-dir=/usr' '--enable- mysqlnd''--启用-intl'--with-mhash=/opt/mhash/''--with-mysql-sock=/var/lib/mysql/mysql.sock'''--with-mysql=/usr'''--with-mysqli=/ usr/bin/mysql_config' '--with-openssl-dir=/usr' '--with-openssl=/usr' '--with-pcre-regex' '--with-pdo-mysql=shared' '- -with-pdo-sqlite=shared,/usr' '--with-pdo-pgsql=shared' '--with-pgsql=shared,/usr/lib64/pgsql' '--with-pic' '--with -png-dir=/usr' '--with-pspell' '--with-snmp' '--with-tidy' '--with-libxml-dir=/opt/xml2/' '--with-xmlrpc ' '--with-xpm-dir=/usr' '--with-xsl=/opt/xslt/' '--with-zlib' '--with-zlib-dir=/usr' '--enable- mysqlnd''--启用-intl'--with-mysqli=/usr/bin/mysql_config' '--with-openssl-dir=/usr' '--with-openssl=/usr' '--with-pcre-regex' '--with-pdo -mysql=shared' '--with-pdo-sqlite=shared,/usr' '--with-pdo-pgsql=shared' '--with-pgsql=shared,/usr/lib64/pgsql' '--with -pic' '--with-png-dir=/usr' '--with-pspell' '--with-snmp' '--with-tidy' '--with-libxml-dir=/opt/xml2/ ' '--with-xmlrpc' '--with-xpm-dir=/usr' '--with-xsl=/opt/xslt/' '--with-zlib' '--with-zlib-dir=/ usr' '--enable-mysqlnd' '--enable-intl'--with-mysqli=/usr/bin/mysql_config' '--with-openssl-dir=/usr' '--with-openssl=/usr' '--with-pcre-regex' '--with-pdo -mysql=shared' '--with-pdo-sqlite=shared,/usr' '--with-pdo-pgsql=shared' '--with-pgsql=shared,/usr/lib64/pgsql' '--with -pic' '--with-png-dir=/usr' '--with-pspell' '--with-snmp' '--with-tidy' '--with-libxml-dir=/opt/xml2/ ' '--with-xmlrpc' '--with-xpm-dir=/usr' '--with-xsl=/opt/xslt/' '--with-zlib' '--with-zlib-dir=/ usr' '--enable-mysqlnd' '--enable-intl'--with-pdo-pgsql=shared' '--with-pgsql=shared,/usr/lib64/pgsql' '--with-pic' '--with-png-dir=/usr' '--with- pspell' '--with-snmp' '--with-tidy' '--with-libxml-dir=/opt/xml2/' '--with-xmlrpc' '--with-xpm-dir=/usr' '--with-xsl=/opt/xslt/' '--with-zlib' '--with-zlib-dir=/usr' '--enable-mysqlnd' '--enable-intl'--with-pdo-pgsql=shared' '--with-pgsql=shared,/usr/lib64/pgsql' '--with-pic' '--with-png-dir=/usr' '--with- pspell' '--with-snmp' '--with-tidy' '--with-libxml-dir=/opt/xml2/' '--with-xmlrpc' '--with-xpm-dir=/usr' '--with-xsl=/opt/xslt/' '--with-zlib' '--with-zlib-dir=/usr' '--enable-mysqlnd' '--enable-intl'

在那里你可以清楚地看到 mysqli 使用 5.5.47-MariaDB 而不是明确安装的 mysqlnd。我的本地机器上的相同部分在这里

我可以选择不同的 PHP 版本,但是由于它们都不像我预期的那样工作,所以我决定了5.6.17哪个是我可以选择的最新版本。

那么有没有办法只用 php.ini 来改变它呢?即使有可能,这是个好主意吗?

0 投票
2 回答
501 浏览

php - 为什么当我们告诉它不要这样做时 PDO 会生成警告?

问题

我们告诉 PDO 将每个问题包装到异常中。在某些情况下,它会生成一些警告,然后才会引发异常。

为什么这样做?

重复?

SO上没有关于它的正确答案。最后一个问题是PHP PDO 异常 + MySQL 上的警告已消失?但人们只是将其标记为重复,而不是仔细回答。

接受的答案没有回答为什么这样做以及何时这样做。所以我研究并会回答。

0 投票
1 回答
289 浏览

php - 如何正确替换 get_result() 函数

这是否意味着 mysqlnd 正在服务器上工作?

我在我的 php 文件上使用这样的函数,但主机没有 mysqlnd。

那么如何get_result()正确替换该功能?

我已经看到了一个解决方案,但未能实施,所以请给我一个例子。谢谢!

0 投票
2 回答
563 浏览

php - 未捕获的错误:调用 mamp 中未定义的方法 mysqli_stmt::get_result()

我在 Windows 上运行 MAMP。php_mysqli.dll 在 php.ini 文件中启用。

除此之外,在 php info 中它说 mysqlnd 已启用:

phpinfo mysqlind

这是我的 php 的样子:

该行$result = $stmt->get_result()抛出错误

PHP 致命错误:未捕获的错误:调用未定义的方法 mysqli_stmt::get_result()

任何猜测为什么get_result()不工作?

这与已经提出的问题不同,因为所有解决方案都提到未启用 mysqlind,尽管在我的情况下是这样。

0 投票
0 回答
589 浏览

php - MYSQLI_ASYNC 可用于 PHP 中的准备好的语句?

利用 MySQL 本机驱动程序,您可以使用MYSQLI_ASYNC带有函数的标志mysqli_query来进行并行、异步 MySQL DB 调用。

我知道这一切是如何工作的,但我真正想做的是以某种方式将MYSQLI_ASYNC标志与 PHP 中的准备好的语句集函数一起使用。

这可能吗?如果可以,怎么做?

0 投票
3 回答
5459 浏览

php - 即使启用了 mysqlnd,get_result() 也不起作用

这可能是许多问题的重复,但是我似乎没有从任何问题中得到答案。我正在使用multi domain linux hostinghostgator 提供的。我尝试使用mysqli_stmt_get_result(),但它给我一个错误,说明为undefined method。我联​​系了 hostgator 管理面板他们为我启用了 mysqlnd 扩展。我确实看到我网站的 phpinfo 中启用了 mysqlnd 扩展。但是我仍然看到同样的错误。

我试图检查它是否已启用,它说nope但我确实看到 mysqlnd 在我的phpinfo.

有什么问题,我该如何解决这个问题?加上与任何其他方法一起使用不是一个选项,因为我已经使用mysqli_stmt_get_result().

更新:

mysqli

mysqlnd

询问:

0 投票
2 回答
1388 浏览

php - 没有 mysqli_stmt_get_result() 和 mysqlnd

我准备好的语句在带有 PHP 5.4 的 MAMP 中运行良好,无需调整 php.ini。在我的 GoDaddy 网站上,相同的代码失败了:

致命错误:调用未定义函数 mysqli_stmt_get_result()。

我的 GoDaddy info.php 显示以下已启用:

mysqli 客户端 API 库版本 5.5.45

mysqlnd:mysqlnd 5.0.10
加载插件:mysqlnd、example、debug_trace、auth_plugin_mysql_native_password、auth_plugin_mysql_clear_password
API 扩展:无

GoDaddy 说他们的 PHP 工作得很好,尽管我怀疑他们是否测试过这个功能。他们声称这一定是一个代码错误,这让我觉得这与错误的性质和代码在 MAMP 中工作的事实不一致。

我的下一步是什么?