【问题标题】:Is PhpMyAdmin able to handle large amount of data?PhpMyAdmin 是否能够处理大量数据?
【发布时间】:2014-05-17 12:05:51
【问题描述】:

当我的意思是“大”时,它只有~25000 rows ...

我有一个重 5 Mb 的大表,在尝试列出所有数据并查看信息时,PhpMyAdmin 显示以下错误:

致命错误:允许的内存大小为 134217728 字节已用尽(已尝试 分配29050028字节)在 /Library/WebServer/Documents/phpmyadmin/libraries/DisplayResults.class.php 2561行

只有25K行,什么时候结束100K

我在网上查看了如何修复它,并将PHP.ini 中的资源限制提高到:

;;;;;;;;;;;;;;;;;;; ;资源限制; ;;;;;;;;;;;;;;;;;;;;

;每个脚本的最大执行时间,以秒为单位; http://php.net/max-execution-time ;注意:该指令是硬编码的 对于 CLI SAPI max_execution_time = 1000 为 0

;每个脚本可能花费在解析请求数据上的最长时间。 这是一个很好的;在生产服务器上限制这个时间的想法 意外消除;长时间运行的脚本。 ;注意:这个 对于 CLI SAPI,指令被硬编码为 -1;默认值:-1 (无限制);发展值:60(60秒);产值: 60(60 秒); http://php.net/max-input-time max_input_time = 1000

;最大输入变量嵌套级别; http://php.net/max-input-nesting-level ;max_input_nesting_level = 64

;可以接受多少个 GET/POST/COOKIE 输入变量 max_input_vars = 10000

;脚本可能消耗的最大内存量(128MB); http://php.net/memory-limitmemory_limit = 128M

但什么都没有改变。

请帮忙。

谢谢

【问题讨论】:

  • 你是人,phpmyadmin 是为人机交互而设计的。你将如何有意义地解释 25000 行数据?如果您使用 phpmyadmin 进行自动化,您实际上是想编写与数据库交互的脚本,而不是使用 phpmyadmin。
  • 这就是分页的用武之地,我只是想以 10 x 10 显示结果
  • 对 php.ini 进行更改后是否重新启动了 Web 服务器
  • 但你仍然是一个人,你不会有意义地理解 10 页中的 25000 行。所以要么你重载“分页”来做一些你应该调整查询的事情对于(即找到最高/最低/无论如何的集合)或者您应该编写简单地访问您的数据库的脚本。 phhmyadmin 不能替代正确使用数据库,它只是用于管理。
  • 不,我的意思是它是一个管理面板,而不是一个数据操作工具。如果您正在运行甚至对 1000 行进行操作的操作,那么您已经从管理跨界到仅“使用您的数据库”。

标签: php mysql phpmyadmin


【解决方案1】:

您遇到的这个错误

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 29050028 bytes) in /Library/WebServer/Documents/phpmyadmin/libraries/DisplayResults.class.php on line 2561

表示您的脚本超过了已设置的 128M 内存限制。因此,php.ini 中任何有意义的增加都应该在 128M 以上。 256M 应该是你的下一步。记得重启 apache 或你的 fastcgi 服务。

在将表格导出到 sql、csv 或电子表格时,PHPMyAdmin 能够处理无限量的数据。在显示带有 ajax 更新和坚韧按钮的漂亮交互式网格时,它无法处理那么多数据。这是因为表格的内容被注入到一个对象中,并且该对象必须将整个内容保存在内存中,直到它呈现。

如果 10000 行的数量超过 128M,则 PHP 无法将该信息保存在变量中。这不是 PHPMyadmin 的错。

【讨论】:

  • 谢谢,当我只想每页显示它时,为什么它试图保留整个表格(比如每页 25 个结果)。
  • 在这种情况下,它不应该。它只需要在任何给定时间保存 25 行。这意味着问题出在其他地方,并且可能是给定 PHPMyAdmin 版本中的错误。他们几乎每个月都会发布两次新的修补程序,所以我们不要放弃它。我会尝试将内存限制增加到 256MB 甚至 512MB,而不是调试第三方工具。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-15
  • 2022-07-17
  • 2016-05-04
  • 1970-01-01
  • 2012-09-02
相关资源
最近更新 更多