php mysqlのタイムアウト設定方法: まずMySQLのソースコードを確認し、次に「MYSQL_OPT_READ_TIMEOUT」と「MYSQL_OPT_WRITE_TIME」の実際の値を取得し、最後に「mysql_option」を直接呼び出します。
PHP が mysql に接続するためのタイムアウトを設定する
PHP が mysql に接続するためのタイムアウトは分割できます。
连接超时 读超时 写超时
PHP には現在、mysql に接続するための 2 つの接続方法、libmysql および mysqlnd (推奨) があるためです。
まず、libmysql
libmysqlの基盤となるライブラリには、MYSQL_OPT_CONNECT_TIMEOUT、MYSQL_OPT_READ_TIMEOUT、MYSQL_OPT_WRITE_TIMEの設定項目と、関連するAPIが提供されています。
ソースコードの場所
mysql-VERSION/sql-common/client.c 3020行
MYSQL_OPT_CONNECT_TIMEOUTは直接設定できます。ただし、MYSQL_OPT_READ_TIMEOUT と MYSQL_OPT_WRITE_TIME は mysqli によってインポートされません。
したがって、MySQL のソース コードを確認し、MYSQL_OPT_READ_TIMEOUT と MYSQL_OPT_WRITE_TIME の実際の値を取得してから、mysql_option を直接呼び出す必要があります。ただし、mysql_pdo はハードコーディングされているため、MYSQL_OPT_READ_TIMEOUT および MYSQL_OPT_WRITE_TIME を設定する方法はありません。
ソースコードの場所:
mysql-VERSION/include/mysql.h 160 行
ただし、MYSQL_OPT_READ_TIMEOUT は mysql5.6 以前のバージョンにあります (オンラインでは 5.6 を使用しています)。このパラメータには以下の 3 つの制限があります。
只能在TCP/IP协议下工作 MySQL server版本必须大于5.1.2 只能在windows下生效。
2 番目は mysqlnd
libmysql と mysqlnd の場合、これらは mysql、mysqli、mysqlpdo の基礎となるライブラリです。これら 3 つの拡張機能は、したがって、これら 3 つのタイムアウトのサポートはコード レベルで同じです。
ただし、MYSQL_OPT_READ_TIMEOUT の場合、mysqlnd は php.ini レベルの複数の場所で構成されます
mysqlnd.net_read_timeout
この構成には長い時間がかかりますSQL を実行すると、「2006-MySQL Server が消えました」というエラーが報告されます。
このパラメータは、libmysql の MYSQL_OPT_READ_TIMEOUT に非常に似ています。ただし、パラメータ MYSQL_OPT_READ_TIMEOUT には、前の概要で説明した使用シナリオがあります。
MYSQL_OPT_CONNECT_TIMEOUT および MYSQL_OPT_WRITE_TIME は libmysql と同じです。
推奨: 「PHP チュートリアル 」
要するに
以上がphp mysqlのタイムアウト設定方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。