【问题标题】:When should I use mysqli_kill() and mysqli_close()?什么时候应该使用 mysqli_kill() 和 mysqli_close()?
【发布时间】:2013-01-27 03:41:32
【问题描述】:

我有自己的数据库,我正在使用 Xampp 运行它。我正在使用 Apache 和 MySql 服务,尽管我还提供了公共访问权限。我想知道结束一堆 sql 查询的正确方法。我正在使用 ajax 将数据发送到 php 页面并从服务器查询一些数据。在 ajax 请求期间,我对处理程序 php 页面进行了编程,因此它将执行多个查询(至少一个以上)以获取我需要的特定数据。现在,我不知道什么时候应该使用mysqli_kill()mysqli_close()。我现在已经设置好了,所以只有在对该特定 ajax 请求执行了所有即时查询之后,然后运行 ​​mysqli_close()。我什至不使用 mysqli_kill()。我不太了解数据库连接或服务器上的性能管理,所以我不知道如何考虑这一点。一方面,在该用户注销网页之前,我不需要关闭连接,对吗?或者我应该在每个连接出现和处理时打开和关闭它?

这个处理程序 php 页面处理来自我拥有的几个网页的请求,并且在其中一个网页中有一个输入框,每次击键都会发送 ajax 请求以显示提示(可能的匹配项)...另请注意,这是仅限员工访问页所以连接不应该太高。

我也看了这个帖子Could someone explain a little about this statement about mysqli close function?

答案与从 php 手册网站获取的建议相矛盾。如果在我描述的情况下,是否有任何理由为了性能而保持连接处于活动状态,是否有人请澄清何时使用 mysqli_kill()mysqli_close()

【问题讨论】:

    标签: php mysql database mysqli database-connection


    【解决方案1】:

    一般来说,您根本不需要使用这些功能中的任何一个。当 PHP 脚本执行完毕后,服务器分配给你的所有资源都会自动释放,所以在最常见的情况下,你无需担心。

    有时您可能想要使用mysqli_close,例如在一个长时间运行的脚本中,该脚本已经完成了它需要对数据库执行的操作,并且不希望在剩余的执行过程中占用服务器资源。

    你根本不需要使用mysqli_kill:这个函数的作用是指示服务器销毁一个工作线程。这进入了“在不被邀请的地方乱搞”的领域,这在某些情况下可能有用,但在正常操作下肯定不会。

    【讨论】:

    • 好的,这回答了我的问题,但如果你不介意的话;是否有任何常见原因(以及 php 代码中的某些不良模式)可能导致 apache 经常崩溃?在我上面描述的那个员工访问网站上,当用户在文本表单框中输入时,每次击键都会发送一个 ajax 请求;出于某种原因,这偶尔会导致 Apache 服务器崩溃,我认为这是因为我没有正确关闭连接。无论如何,您已经回答了我的问题,但我将不胜感激。
    • @TheWeirdNerd:真的不知道,抱歉。
    猜你喜欢
    • 2015-12-05
    • 2023-04-02
    • 2011-04-15
    • 2017-04-10
    • 2012-03-19
    • 2018-05-12
    • 2018-12-11
    • 1970-01-01
    • 2022-09-28
    相关资源
    最近更新 更多