gpt4 book ai didi

php - 应用程序在浏览器中超时但在命令行中没有

转载 作者:行者123 更新时间:2023-11-30 23:24:45 24 4
gpt4 key购买 nike

我正在使用 CodeIgniter 和 MySQL 构建一个 Web 应用程序。我对这个感到困惑:

我有一个 MySQL View ,它汇集了 3 个表,其中一个表有大约 600,000 行数据。在此 View 中,我提出以下查询:

SELECT *, AVG(value_avg) hourly_value_avg, AVG(count) hourly_count_avg, (AVG(value_avg) * AVG(count)) hourly_time_consumed FROM (`perf_view`) GROUP BY `event_id`

通过 MySQL 客户端需要大约 5 秒才能得到 30 个结果,通过命令行,调用执行查询的确切 Controller 和方法,大约需要相同的时间,问题是,当我点击页面时在浏览器中,我收到以下错误:

Error Number: 2013
Lost connection to MySQL server during query

阅读此错误后,我发现这可能是客户端错误,即 PHP 超时,而不是数据库。我对此有点困惑,有没有人遇到过同样的问题?

如果能得到任何帮助,我将不胜感激:)

最佳答案

在您的 Controller 构造函数或任何函数中,您可以尝试通过 codeigniters 框架延长脚本使用的时间和内存。可以使用以下命令设置这些内容。

set_time_limit(0);     // set the execution time to any time. in my case infinite time
ini_set('memory_limit', '256M'); // set the memory use to whatever here 256 megs

您的情况听起来可能是内存问题。 600,000 条记录很容易超出 PHP 配置或 codeigniter 配置中的内存限制。两者通常都设置得有点低,如果您的 600,000 条记录查询返回一个包含许多列的表的相当一部分,我可以看到内存限制问题值得检查。祝你好运。

关于php - 应用程序在浏览器中超时但在命令行中没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13897249/

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