gpt4 book ai didi

php - 执行 Mysql 查询时网站无法加载

转载 作者:行者123 更新时间:2023-11-29 18:11:04 25 4
gpt4 key购买 nike

我在一台机器上有 MySQL 5.7 服务器。网站在其他机器上。

当我尝试按 F5 20 次 PHP mysql 脚本时,该脚本需要 1 秒才能执行,它将卡住每个人的整个网站 20 秒

我尝试在 nginx、apache2 上运行这个,所以我猜是 mysql 或网站问题。

查询可以是简单的循环中的SELECT,我使用mysqli_query

当我检查完整进程列表时,它只向我显示了网站用户的一个进程,并且所有进程都在队列中执行,直到我停止刷新,主要问题是当我执行此操作时其他用户无法加载网站。

最佳答案

一次只能有一个 PHP 进程打开给定的 session ,尝试打开该 session 的所有后续请求都将被阻止,直到该 session 关闭为止。导致出现您所描述的问题。

如果您从 session 中获得了所需的所有内容,并且不打算在其中写入更多内容,那么您可以调用 session_write_close()释放 session 以用于其他请求。

例如:

<?php
session_start();

// init

session_write_close();

$dbh->query('SELECT super_long_time_stuff FROM foo');

编辑:值得注意的是,这不会导致“所有用户”无法加载页面,只会导致通过发出长时间运行的请求锁定自己的 session 的任何用户。

关于php - 执行 Mysql 查询时网站无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47402673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com