問題タブ [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 - PhP は mysqlnd がインストールされていますか?
アプリ全体でこれに似たクエリを使用します。
ライブサーバーでいくつかをテストしたところ、$stmt->get_results();うまくいかないようです。
エラーなどは何も表示されませんが、何もしませんか?
Google の魔法を使用すると、forを機能させるにはmysqlndをインストール$stmt->get_results();する必要があるようです。
誰でもこれを固めることができますか?また、mysqlnd がサーバーにインストールされないのはなぜですか? 一部のユーザーがインストールできないと言っているのを見てきましたが、ホスティング プロバイダーがこれを提供したがらないのはなぜですか?
ついに; mysqlnd が使用可能かどうかを確認する方法はありますか (関数を実行して結果が得られない以外に)。
いつもありがとう SO
編集
php.ini に mysqlnd への参照がいくつかありますが、無効になっているように見えるものはありません。myslnd が機能するために構成する必要がある設定 / 設定が php.ini にありますか?
答え
これは自分の質問に答える価値があるとは思いませんが、最終的には次のようになりました。
$results = $stmt->get_results();$results = $stmt->get_result();また、以前のインストールが完了していないため、ホスティングプロバイダーに連絡して、mysqlnd を「再インストール」してもらう必要がありました。
php - 非同期の mysqlnd INSERT クエリを呼び出して「忘れる」ための最良の方法
設定
この状況では、php と mysql を使用しています。
次のようなmysqli接続があるとしましょう:
「MYSQL_ASYNC」パラメーターを使用して非同期 mysql クエリを実行するために、mysqlnd をインストールしました。
ゴール
レコードを挿入したいだけで、遠い将来までレコードを取得する必要がないため、非同期クエリが完了するまでにかかる時間は気にせず、最終的な処理を実行する必要もありません。クエリが完了したことがわかったときのアクション。挿入クエリが発生するコードのセクションを過ぎたら、他の無関係な mysql クエリを実行する必要があります。
問題
このようなクエリを実行すると、スクリプトの後半にある他のクエリが非同期エラーでブロックされます。これに対処するために、すべての非同期クエリの後に次のようなコードを追加する必要がありました。
これにより、非同期エラーが効果的に停止し、コードが正常に動作します。
ただし、2つの問題がまだ私を悩ませています。
私は挿入クエリを実行しているだけで、挿入が完了したことがわかっているときにコードに何らかの応答があることを気にしないので、これを気にする必要はありません。
私のサーバーでは、ポーリング コードの実行速度が非常に遅くなります。通常のクエリを実行するよりもはるかに遅く、結果を同期的に取得します。
要約
2 つの要件で挿入クエリを実行したいと考えています。クエリは非ブロック (非同期) であり、後で他の mysql クエリを実行できます。クエリを挿入して「忘れて」、コードを続行したいだけです。
これを行うための最良の方法について何か提案はありますか?
php - mysqli_result::$fetch_all が機能しない
mysqli で fetch_all 関数を動作させようとしています。PHP > 5.3 と mysqlnd が必要であることはわかっています。
私のサーバーは Debian Wheezy を実行しているので、PHP 5.5 を使用しています。php5-mysql を削除し、php5-mysqlnd をインストールしました。
phpinfo()mysqlnd がインストールされていることを示していますが、fetch_all 関数を使用しようとすると、まだこのエラーが発生します。
私はそれを次のように呼びます:
何か不足していますか?
php - 未定義のメソッド mysqli_stmt::get_result() を呼び出し、かつ mysqlnd がインストールされている
機能に問題がありget_result()ます。
私のphpスクリプトはlocalhostうまく機能していますが、サーバーにはこのエラーがあります
何度も検索しましたが、解決策が見つかりませんでした。私のコード:
(「mysqli」と「mysqlnd」の両方がインストールされています。)
私は今何をしなければなりませんか?
apc - 「mysql server has gone away」エラーの考えられる理由 (php 5.4、mysqlnd)
最近、Web サーバーの 1 つを PHP 5.3 (Debian Squeeze パッケージ、libmysqlclient と APC を使用) から PHP 5.4 (Debian Wheezy、Dotdeb パッケージ、mysqlnd、Opcache、APCu を使用) にアップグレードしました。ほぼ 1 日正常に動作した後、すべての要求で「mysql サーバーがなくなりました」というエラーが発生しました。同じ MySQL サーバーを使用して libmysqlclient で PHP 5.3 を実行している同じ負荷の他のすべてのサーバーでは、まったく問題はありませんでした。私たちが使用するすべてのサーバーで:
PHP 5.3 サーバーでは、mysql/my.cnf タイムアウトを変更しませんでした。read_timeout (mysql)、wait_timeout (mysql)、default_socket_timeout (php)、および max_execution_time (php) の問題についてはわかっていますが、実行時間の長いクエリを含むバッチ スクリプトのコンテキストでのみです。通常、Web サーバーは約 300 ミリ秒で応答するため、ここではタイムアウトは問題になりません。
サーバーをロードバランシングから外したときは本当におかしくなったので、もう負荷はありませんでしたが、まだ 180 のビジー状態の Apache プロセスが残っていました。何もapache2ctl graceful変わらず、数時間後に次のようにapache2ctl status述べています。
apache2ctl restart問題を解決しただけで、すべてが再び正常に機能しました。MySQL エラーは、これまでに見つかった唯一の「有用な」エラー メッセージです。
mysqlnd、opcache、または apcu と PHP 5.4.30 の問題でしょうか? 私たちが経験した動作につながる可能性のある既知の問題はありますか?
または、「mysql サーバーがなくなった」問題をデバッグする方法を知っていますか?
php - MAMP 環境で PHP で mysqlnd を有効にする方法
こんにちは、私は MAMP 開発環境を実行していますが、PHP を再構成する経験はあまりありません。ただし、mysql の代わりに mysqlnd を使用する必要があることがわかりました。UNIXの端末からこれをどのように正確に行うのですか?