php - 如何修复内存耗尽的postgresql
问题描述
实际上我有一个服务器来获取数据以显示给客户。我使用: - PHP 7.2.14 - PostgreSQL - PDO
但是几天以来,我遇到了一个 PHP 错误:
[2019 年 10 月 28 日 08:58:51 Europe/Paris] PHP 致命错误:在线 C:\wamp64\www\src\System\Doctrine.php 中允许的内存大小为 134217728 字节已用尽(试图分配 20480 字节) 122
[2019 年 10 月 28 日 08:58:51 欧洲/巴黎] PHP 9. PDOStatement->fetchAll() C:\wamp64\www\src\System\Doctrine.php:122
我在互联网上寻找解决我的问题,但我没有看到任何帮助我...
我已经尝试设置memory_limit
为-1,但没有任何改变。
在这里,你可以看到我的 Doctrine 第 122 行。
public function getAllWhere($tableName, $refCol, $refVal) {
$r = $this->web->prepare("SELECT * FROM $tableName WHERE $refCol = :val");
$r->bindValue(':val', $refVal, PDO::PARAM_STR);
$r->execute();
$res = $r->fetchAll();
return $res;
}
在我的数据库中,表内有 1,500,000 行。
我认为FetchAll
是有罪的。
解决方案
在以下位置更新您的 php.inimemory_limit directive.
把它放在你的php.ini
:
memory_limit=1024M
并通过此语法或手动重新启动 apache:
sudo systemctl restart httpd.service
推荐阅读
- storage - TDengine的存储逻辑是什么?keep和days配置是如何协同工作的?
- android - Android Studio - 无法应用插件“com.android.internal.application”
- javascript - 如何收集表格行显示==“无”?
- sql - 如何在没有外键链接的 2 个表之间进行查询
- sql - 在sql中的单行透视数据中合并/显示多个数据
- ios - NEPacketTunnelProvider 如何与 IOS 中的 DNS 代理一起工作?
- twilio - 是否可以在 Autopilot 聊天机器人中添加快速按钮?
- ios - 如何快速从其他控制器访问标签栏高度?
- c# - 整个 ListView WPF 中的内部网格线
- scala - 在 Spark 中透视流数据