問題タブ [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.
php - 更新された MySQL ライブラリで PHP データベース接続エラーを修正する
CentOS 5.5 から 7 への移行を解決するために数時間を費やしましたが、Web サイトの MySQL サーバーに接続する PHP ベースのサイト以外はすべて機能していました。Perl は問題なく動作しました。CLI コマンドは正常に機能しました。Stack Overflow などにリストされているすべてのソリューションを試しました。
- /etc/hosts に、127.0.0.1 の最初のエントリとして localhost が含まれていることを確認します。
- PHP が正しいソケットを正しく指していることを確認する
- 接続設定で localhost と 127.0.0.1 を交換してみてください
- 私の機能的なCentOS 5.5セットアップと新しいストックCentOS 7インストールの間で異なる設定についてphp.iniをチェックしました。
厄介なことに、Apache 経由であろうと他の場所であろうと、PHP にエラーをダンプさせることができませんでした。それはすべて腹立たしいことでした。
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) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0、Copyright (c) 1998-2015 Zend Technologies
私のOS:
[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 (385,916 バイト) のダウンロードを開始します
................................................................... ..........完了: 385,916 バイト
36 個のソース ファイル、ビルド
実行中: phpize
以下の構成:
PHP API バージョン: 20131106
Zend モジュールの API 番号: 20131226
Zend 拡張 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 を受け入れるかどうかを確認しています... はい
ISO C89を受け入れるためのccオプションをチェックしています...必要ありません
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をチェックしています...いいえ
configure: 警告: 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 をチェックしています...はい
memory.h をチェックしています...はい
strings.h をチェックしています...はい
inttypes.h のチェック...はい
stdint.h をチェックしています...はい
unistd.hをチェックしています...はい
dlfcn.h のユーザビリティをチェックしています... はい
dlfcn.h の存在を確認しています...はい
dlfcn.h をチェックしています...はい
コマンドライン引数の最大長をチェックしています... 1572864
/usr/bin/nm -B cc オブジェクトからの出力を解析するコマンドをチェックしています... ok
objdir... .libs をチェックしています
ar... ar をチェックしています
ranlib をチェックしています... ranlib
ストリップをチェック中... ストリップ
cc が -fno-rtti -fno-exceptions をサポートしているかどうかを確認しています...いいえ
PIC を生成するための cc オプションをチェックしています... -fPIC
cc PICフラグ-fPICが機能するかどうかを確認しています...はい
cc static フラグ -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
cc -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: 注: 'unsigned int' が予期されますが、引数は「void ***」と入力</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 からインクルードされたファイルで、
from /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: 注: 'unsigned int' が予期されますが、引数は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: 注: 'unsigned int' が予期されますが、引数は「void ***」と入力</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(ハンドル TSRMLS_CC))) {
^
/tmp/pear/temp/mysqlnd_ms/mysqlnd_ms.h:40:0 からインクルードされたファイルで、
from /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
エラー: `make' が失敗しました
php - PhalconPHP/PDO を使用した ND 接続フェイルオーバーを使用した MySQL
Mysql-nd マニュアルのこの部分では、スレーブ MySQL サーバーへの接続が失われたときに推奨されるフェイルオーバー方法を実装する方法について説明します。
私はそれを PhalconPHP に実装したいと思っています。Phalcon と Mysql-nd を使用するいくつかの重要なプロジェクトがあるので、適切な場所でそれを行うことが非常に重要です。
いくつかのドキュメントを見つけようとしていますが、開始する例さえ見つかりません。Phalcon Documentation hereおよびhereを調べて EventManager アプローチを見つけようとしていましたが、透過的に行う方法が見つかりません。
最も魅力的な方法は、イベント マネージャーを使用してエラー イベントをキャプチャし、接続エラーが発生した場合に再度クエリを実行することです。
1 アップデート
私が見つけたいくつかの Phalcon ソースを読んだ後、標準的な方法で同じクエリを 2 回実行する方法がない可能性があることがわかりましEventManager
たdb
。私が見つけた 1 つの可能な試みは、実際にdb:afterConnection
イベントの後に任意のクエリを実行することですが、それは解決策ではありません。
2 更新
db:afterConnection
はほとんど到達できませんが、代わりにすべてを収集することができますdb:beforeQuery
。問題は、PDO が で Phalcon によって実行されているため、スレーブへの接続が切断されたときにイベントPDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
に到達できないことです。db:afterConnection
を介して PDO インスタンスを取得し、db:beforeQuery
この属性を変更することは可能EventManager
ですが、同じクエリを 2 回目に送信できたとしても、適切な場所に返す方法が見つからないため、何も返されません (クエリ結果をオーバーライドできません)。取得されdb:afterQuery
たステートメントはイベント送信の一部ではなく、Eventmanager の結果はまったく使用されていないためです。
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=共有' '--with-pdo-sqlite=共有,/usr' '--with-pdo-pgsql=共有' '--with-pgsql=共有,/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'' --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'' --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-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'
そこには、明らかにインストールされている mysqlnd ではなく、mysqli が 5.5.47-MariaDB を使用していることがわかります。ここのローカルマシンの同じセクション。
さまざまな PHP バージョンを選択できますが、どれも期待どおりに動作しないため、5.6.17
選択できる最新のバージョンに落ち着きました。
php.iniだけでこれを変更する方法はありますか?たとえそれが可能だとしても、それは良い考えですか?
php - PHPの準備済みステートメントでMYSQLI_ASYNCを使用できますか?
MySQL Native Driver を利用するMYSQLI_ASYNC
と、関数でフラグを使用しmysqli_query
て、並列の非同期 MySQL DB 呼び出しを行うことができます。
私はそれがどのように機能するかを理解していますが、私が本当にできるようにしたいのはMYSQLI_ASYNC
、PHP の関数のプリペアド ステートメント セットでフラグを使用することです。
これは可能ですか?
php - mysqlnd が有効になっていても get_result() が機能しない
多くの質問が重複している可能性がありますが、提示された質問のいずれからも回答が得られないようです。multi domain linux hosting
ホストゲーターが提供するものを使用しています。使用しようとしましたが、ホストゲーターの管理パネルに連絡しましmysqli_stmt_get_result()
た。undefined method
私のウェブサイトの phpinfo で mysqlnd 拡張機能が有効になっていますが、それでも同じエラーが表示されます。
有効になっているかどうかを確認しようとしましたがnope
、 mysqlnd が有効になっていると表示されますphpinfo
。
問題は何ですか、どうすればこれを解決できますか? さらに、 を使用してプロジェクト全体を既にコーディングしているため、他の方法で使用することはオプションではありませんmysqli_stmt_get_result()
。
アップデート:
クエリ:
php - mysqlnd で mysqli_stmt_get_result() を使用しない
私の準備済みステートメントは、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で機能するという事実の両方と矛盾しているように私には思えます。
私の次のステップは何ですか?