好的,我已经搜索并尝试了一切。我的网站在localhost上工作得很好,我上传了,并且疯狂地遇到致命服务器问题。我已将其缩小到以下代码。这个代码在某些页面上工作的奇怪部分和其他页面没有(相同的代码!)。
$stmt_RcdleagueinfoMENU= $eleaguehome->prepare("SELECT * FROM league WHERE leaguename = :league");
$stmt_RcdleagueinfoMENU->bindValue(':league', $curleague, PDO::PARAM_STR);
$stmt_RcdleagueinfoMENU->execute();
$row_RcdleagueinfoMENU = $stmt_RcdleagueinfoMENU->fetch(PDO::FETCH_ASSOC);
我得到PHP致命错误:允许的内存大小为33554432字节耗尽....
答案 0 :(得分:0)
ini_set('memory_limit' '-1')
PHP有一个“内存限制”设置,当你执行$ stmt_RcdleagueinfoMENU-> fetch(PDO :: FETCH_ASSOC)时,你从数据库获得的数据太多了,你正在用尽你当前的限制,这个设置为ca 33.5MB(33554432字节)
ini_set('memory_limit' '-1')
=无限制
ini_set('memory_limit' '128M')
= 128兆字节,依此类推。请参阅手册中的“资源限制”部分http://php.net/manual/en/ini.core.php
..请注意,很多免费的php虚拟主机(如Byethost或000webhost,在我的头顶),不允许你更改此限制..如果你想确认你改变了设置,你可以这样做:
assert(ini_set('memory_limit','128M')!==false,'128 megabytes of memory is required');