当我将我的应用程序上传到服务器时,我收到了一堆这样的警告:
PHP Warning: include_once(): Unable to allocate memory for pool...
我知道,有很多教程教你如何在你的服务器上解决这个问题,但我的应用程序所在的服务器不是我的——它是公共托管。因此我想问,这个问题该如何解决?我必须联系我的托管服务提供商吗?
答案1
这似乎是 APC 的一个错误,请尝试在.htaccess
(php_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 版本很有用