私のPHPコードと私のウェブサイトが永続的な接続を使用していないことを確認したいと思います。`SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST`の結果の理解
私がチェックするには、以下のSQLクエリを使用しますが、私はかなりの出力を理解していない、私は別のページをクリックしたとき 以下$sql = "SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST";
$items = $connection -> fetch_all($sql);
print_r($items);
は、
Array
(
[0] => Array
(
[ID] => 43
[USER] => root
[HOST] => localhost:52246
[DB] => xxx_2010
[COMMAND] => Query
[TIME] => 0
[STATE] => executing
[INFO] => SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
)
[1] => Array
(
[ID] => 38
[USER] => root
[HOST] => localhost:52140
[DB] =>
[COMMAND] => Sleep
[TIME] => 423
[STATE] =>
[INFO] =>
)
)
出力され、
Array
(
[0] => Array
(
[ID] => 44
[USER] => root
[HOST] => localhost:52301
[DB] => xxx_2010
[COMMAND] => Query
[TIME] => 0
[STATE] => executing
[INFO] => SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
)
[1] => Array
(
[ID] => 38
[USER] => root
[HOST] => localhost:52140
[DB] =>
[COMMAND] => Sleep
[TIME] => 1026
[STATE] =>
[INFO] =>
)
)
常に2つの配列が出力されるのはなぜですか? [COMMAND]
のクエリ/スリープはどういう意味ですか? [STATE]
では、最初の配列にexecuting
と表示され、2番目の配列で空になりました。つまり、ページが送信されるとdb接続が切断されます。
また、[TIME] => 0 and [TIME] => 423
- それはどういう意味ですか?いくつかのキーがあるのはなぜ
は、私はちょうど...
おかげで、いくつかのダムの質問をしたかもしれないなど
申し訳、など[HOST] => localhost:52246, [HOST] => localhost:52140, [ID] => 43, [ID] => 38
など異なる値を表示します。
EDIT:
今、私は私が私のサイト上での周りをクリックしたときにそう、それは常に[STATE] => executing
を返し
Array
(
[0] => Array
(
[ID] => 59
[USER] => root
[HOST] => localhost:53195
[DB] => xxx_2010
[COMMAND] => Query
[TIME] => 0
[STATE] => executing
[INFO] => SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
)
)
、私のブラウザ上でのphpMyAdminを閉じた後の出力でこれを持っている - それはどういう意味私のサイトは常時接続していますか?
@ircmaxell: 'あなたは、かなりの時間アイドル状態になっているルートユーザーから1つの接続を開きます(IDは同じで、スリープ時間かなり高いです)。はい、私は[ID] => 38私は気付いていません、なぜ知っているのですか? – laukok
@lauth:どこにいても接続していますか?おそらくコマンドライン?あなたはそれを殺そうとしましたか?あなたはサーバへのコマンドラインアクセスを持っていますか(その時点でnmapをチェックしてそのプロセスがそのポートを開いているかどうか確認できます)。 – ircmaxell
@ircmaxell: 'どこにでも接続していますか?'私は本当に知りません!私はそのクエリ "SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST"を実行します。私のサイトのインデックスページの内側にあります。 rootユーザーとの1つの接続を開く必要がありますか? – laukok