CakePHP允许的内存大小错误

时间:2014-11-03 15:44:30

标签: php cakephp cakephp-2.3

我正在使用CakePHP 2.3 我在访问CakePHP网站时遇到此错误:

  

PHP致命错误:在第246行的C:\ inetpub \ wwwroot \ mysite \ lib \ Cake \ Event \ CakeEventManager.php中,允许的内存大小为134217728个字节(试图分配4386075个字节)

它似乎不是一个循环,看起来像是与会话相关的东西,因为它在尝试用$this->Session->read('Auth.User.isAdmin')读取会话变量后失败了。

在此之前,我可以毫无问题地打印和die()

<小时/> 的更新

  

PHP致命错误:第246行的C:\ inetpub \ wwwroot \ tlm \ lib \ Cake \ Event \ CakeEventManager.php中允许的内存大小为536870912字节(试图分配12273327字节)

更新2

将限制设置为1500M

  

PHP致命错误:在第926行的C:\ inetpub \ wwwroot \ tlm \ lib \ Cake \ View \ View.php中内存不足(已分配1307312128)(尝试分配23778447字节)   PHP致命错误:第116行的C:\ inetpub \ wwwroot \ tlm \ lib \ Cake \ Error \ ErrorHandler.php超出了30秒的最大执行时间

更新3

我使用的是PHP 5.5.6。通过替换lib文件夹更新到CakePHP 2.6之后,我多次得到相同的错误,并且在同样错误的30行之后,我得到了内存。

  

PHP严格标准:只应在第33行的C:\ inetpub \ wwwroot \ tlm \ app \ Plugin \ Combinator \ View \ Helper \ CombinatorHelper.php中通过引用分配变量

     

PHP严格标准:仅......

     

PHP严格标准:仅......

     

PHP致命错误:在第958行的C:\ inetpub \ wwwroot \ tlm \ lib \ Cake \ View \ View.php中,允许的内存大小为134217728个字节(尝试分配3704512个字节)

     

PHP严格标准:只应在第33行的C:\ inetpub \ wwwroot \ tlm \ app \ Plugin \ Combinator \ View \ Helper \ CombinatorHelper.php中通过引用分配变量

     

PHP严格标准:仅......

     

PHP严格标准:仅......

4 个答案:

答案 0 :(得分:1)

在这种情况下,将此方法暂时放在AppController中是有帮助的:

public function appError($method, $messages) {
    die('Application error: called handler method ' . $method);
}

这通常会给我一个提示,让我看得更远。

答案 1 :(得分:0)

编辑php.ini并将memory_limit设置为比当前设置更大的范围。

与set memory_limit = 512M

类似

<强>更新

增加max_execution_time

答案 2 :(得分:0)

遇到类似的错误后,看起来像CakeSession.php第489行中存在问题:

throw new CakeSessionException(sprintf(
    __d('cake_dev', 'Unable to configure the session, setting %s failed.'),
    $setting
));

这似乎导致无限循环,退出此处将阻止它。我不知道为什么这会导致循环,但它之所以这样做是因为CakePHP无法使用ini_set设置一些php.ini变量。如果此时打印出$setting$value,您将能够看到问题变量是什么。对我来说是session.auto_start,它是在此文件的_defaultConfig函数中设置的。我评论了为此解决问题的线条。

答案 3 :(得分:0)

我有同样的错误,这有助于:
我只是将$this->set('votingBookings')更改为控制器文件中的$this->set('bookings')。希望能帮助任何人。爱SO,想要贡献我的2美分。欢呼:D