【发布时间】:2016-02-08 07:14:19
【问题描述】:
我有以下使用 PDO 连接到我的 Sqlite3 数据库并计算所有记录的 PHP 脚本:
<?php
ini_set('max_execution_time', 300);
error_reporting(E_ALL);
ini_set("display_errors", 1);
$db = new PDO('sqlite:db/MYDB.sl3');
$result = $db->query('SELECT * FROM MYTABLE');
$rows = $result->fetchAll();
$row_count = count($rows);
echo "Rows: " . $row_count . "\n";
?>
如果我从 shell (PHP-CLI) 运行它,一切都会好的:
Rows: 175412
但从网络运行它会引发以下错误:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 14 bytes) in /var/www/test/sqlitepdo.php on line 9
在 PHP 中设置内存不是一个解决方案,因为这甚至不应该发生,因为 MySQL 不会发生与示例相同的结果。
有什么想法吗?
【问题讨论】: