Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
504从MySQL数据库中选择300000行时网关超时错误_Mysql_Sql_Laravel - Fatal编程技术网

504从MySQL数据库中选择300000行时网关超时错误

504从MySQL数据库中选择300000行时网关超时错误,mysql,sql,laravel,Mysql,Sql,Laravel,我有一张30000行的订单。我正在使用带有2GB RAM的Linode服务器 但当我使用phpmyadmin执行查询时,它给了我504 Gatetimeout错误 SELECT * FROM `orders` 我不明白出了什么问题?我得到的错误,你可以看到下面的图片 504网关超时错误在承载网站的服务器无法返回到设置的时间限制HTTP响应的情况下会出现此错误 作为一种适应PHP最大执行时间参数值增加的解决方案,Gatetimeout是HTTP错误,而不是数据库错误。 数据库收集数据的时间太长。

我有一张30000行的订单。我正在使用带有2GB RAM的Linode服务器

但当我使用phpmyadmin执行查询时,它给了我504 Gatetimeout错误

SELECT * FROM `orders`
我不明白出了什么问题?我得到的错误,你可以看到下面的图片


504网关超时错误在承载网站的服务器无法返回到设置的时间限制HTTP响应的情况下会出现此错误


作为一种适应PHP最大执行时间参数值增加的解决方案,Gatetimeout是HTTP错误,而不是数据库错误。 数据库收集数据的时间太长。
您可能必须增加php.ini中的
max\u execution\u time
一次获取30k记录-这不是一个好主意,无论如何,您需要检查sql server配置,30k记录不足以超过默认超时。B/w如果您只是在web服务器中更改超时,它不会影响您B/c浏览器的默认超时为。可能可以帮助您找到配置错误

nano /usr/share/phpMyAdmin/libraries/config.default.php
添加/编辑:

$cfg['ExecTimeLimit'] = 1800000;

我希望你能摆脱它。

在php.ini中更改max\u execution\u time参数我已经尝试增加它的max\u execution\u time并将其设置为480,但不起作用可能max\u execution\u time设置为480以上。然后重新启动服务器!解决方案是返回更少的数据,而不是增加超时或内存限制。我已经尝试增加它的最大执行时间,并将其设置为480,但不起作用。请发布您的phpinfo()我所做的是,我使用的是laravel,其中一个报告我希望使用elequent获得所有订单,但我得到504网关错误,然后我想更详细地分析该问题,但当我在phpmyadmin中执行原始查询时,它给了我一个504错误。现在我很困惑为什么会发生这种事情。记录的平均大小是多少?我会尝试进行一个查询,返回1000条记录。对于一个合理的服务器来说,30000条记录并不多。没有任何情况下您需要在浏览器中保存所有30万条记录-即使您设法将它们全部加载,也不可能一次查看所有记录!因此,您应该做的是只获取部分记录,即您必须执行报告的数据库。数据库就是为这种用途而发明的。在PHP中加载300000条记录会消耗内存。幸运的是,您在数据到达PHP之前就达到了执行限制。如果您正在加载所有订单以在PHP中执行报告,那么您就做错了。使用你的数据库来处理和查询数据。@Mjh你能给我一些建议吗?我该怎么做?实际上,这是项目对所有数据的要求,但现在我不明白我该怎么做?