【问题标题】:Symfony Unable to allocate memory for pool [duplicate]Symfony 无法为池分配内存 [重复]
【发布时间】:2012-12-31 01:53:49
【问题描述】:

可能重复:
What is causing “Unable to allocate memory for pool” in PHP?

今天我注意到下一个错误:

ErrorException: Warning: require() [function.require]: Unable to allocate memory for pool. in /symfony/symfony/src/Symfony/Component/ClassLoader/DebugClassLoader.php line 82

这是一个奇怪的错误,如果我重新加载页面,有时 2 个文件会出现此错误,其他时候是所有文件。

它在我的 JS 和 CSS 文件中。

【问题讨论】:

    标签: php memory symfony


    【解决方案1】:

    此错误通常与 Alternative PHP Cache (APC) 相关,这是一个免费且开放的 PHP 操作码缓存。它的目标是为缓存和优化 PHP 中间代码提供一个免费、开放和健壮的框架。编辑/etc/php.d/apc.ini,输入:

    # vi /etc/php.d/apc.ini
    

    确保传递给 mmap 模块的 mktemp 样式的 file_mask 正确且有效:

    apc.mmap_file_mask=/tmp/apc.XXXXXX
    

    接下来,请确保每个共享内存段的大小(带有 M/G 后缀)根据您的要求设置正确。就我而言,它设置为 8M:

    apc.shm_size=96M
    

    您需要调整一个缓存条目允许在一个槽中空闲的秒数,以防另一个条目需要该缓存条目槽:

    apc.ttl=3600
    

    如果另一个条目需要此缓存条目插槽,则允许用户缓存条目在插槽中空闲的秒数:

    apc.user_ttl=3600
    

    缓存条目可以保留在垃圾收集列表中的秒数。

    保存并关闭文件。确保根据您的要求调整值。重启 Apache 2 网络服务器:

    # service httpd restart
    

    【讨论】:

    • 有时,只需清除缓存即可解决问题:php app/console cache:clear
    • 如上所述,清除缓存会有所帮助,但我还必须重新启动 apache 才能自行解决。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 2011-04-13
    • 2017-02-20
    相关资源
    最近更新 更多