- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想确保我的 php 代码和我的网站不使用永久连接。
我使用下面的 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] =>
)
)
为什么总是输出两个数组? [COMMAND]
中的 Query/Sleep 是什么意思?在 [STATE]
中,它表示第一个数组中的 executing
然后在第二个数组中变为空 - 这是否意味着一旦页面已发送,数据库连接就会断开。
此外,[TIME] => 0 和 [TIME] => 423
- 这是什么意思?
为什么有几个key显示不同的值比如[HOST] => localhost:52246, [HOST] => localhost:52140, [ID] => 43, [ID] => 38
等
抱歉,我可能刚刚问了一些愚蠢的问题...
谢谢。
编辑:
现在我在浏览器上关闭 phpMyadmin 后在输出中有这个,
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
)
)
所以每当我在我的网站上四处点击时,它总是返回 [STATE] => executing
- 这是否意味着我的网站处于永久连接状态?
最佳答案
您有一个从 root
用户打开的连接,该用户已经闲置了一段时间(ID 相同,并且休眠时间相当长)。有些东西已经打开但没有关闭它(可能是来自 PHPMyAdmin 的未关闭连接,或类似的东西)...
您的应用程序未使用相同的连接(您可以从 ID 列中看到)。至于其他连接,您可以尝试 KILL
并查看它是否返回。如果没有,我不会太担心它。
还有一件事,不要使用root
登录MySQL 服务器。创建一个具有有限权限的用户,并授予 PROCESS允许。但是永远不要以完全特权用户的身份连接...
关于php - 了解 `SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST` 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4923638/
我是一名优秀的程序员,十分优秀!