PHP 警告:include_once():无法为池分配内存

PHP 警告:include_once():无法为池分配内存

当我将我的应用程序上传到服务器时,我收到了一堆这样的警告: PHP Warning: include_once(): Unable to allocate memory for pool...

我知道,有很多教程教你如何在你的服务器上解决这个问题,但我的应用程序所在的服务器不是我的——它是公共托管。因此我想问,这个问题该如何解决?我必须联系我的托管服务提供商吗?

答案1

这似乎是 APC 的一个错误,请尝试在.htaccessphp_flag apc.cache_by_default Off)上禁用它或增加文件apc.shm_size中的参数apc.ini

也许您必须联系您的托管服务提供商。

答案2

apc.ttl=0
apc.shm_size=anything you want
//And you can try this to test you is APC operational
function is_file_cached($file) {
$info = apc_cache_info();
foreach ($info['cache_list'] as $cache) {
    if ($cache['filename'] == $file) return true;
}
return false;
}

如果您可以在公共主机上编辑 php.ini,我们可以帮助您。使用 TTL 0 意味着 APC 在内存不足时将刷新所有缓存。但是我认为您的主机没有最新的 php 版本,错误是由于 APC 错误或所用 php 版本的 php-fpm 问题造成的

了解你的 php 运行的 APC 版本很有用

相关内容