我在服务器上运行了基本的MediaWiki安装。当我尝试上传文件时,出现以下错误:
Fatal error: Allowed memory size of 20971520 bytes exhausted (tried to allocate 131072 bytes) in /var/www/wiki/includes/BagOStuff.php on line 404
这指的是:
function _serialize( &$data ) {
$serial = serialize( $data );
if( function_exists( 'gzdeflate' ) ) {
return gzdeflate( $serial ); // line 404
} else {
return $serial;
}
}
奇怪的是,上传似乎确实很好;在错误之后,导航到文件的页面显示它已被上传。此外,错误仅在上载新文件时发生,而不是在更新现有文件时发生。
即使使用非常小的图像文件也会发生这种情况,即使PHP的内存限制增加到512M,因此内存问题本身似乎不太可能。由于某种原因gzdeflate是否有序列化文件的问题?
答案 0 :(得分:2)
您使用的是哪个版本的MediaWiki,是否已检查过LocalSettings.php?对于1.15及更早版本,默认情况下会有一行覆盖你的php.ini:
ini_set('memory_limit', '20M');
尝试将phpinfo()添加到LocalSettings的末尾,而不是一个独立的文件,因此它显示MW初始化后的状态。