У меня установлена базовая установка 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 возникают проблемы с сериализованным файлом?