действительный тест на ограничение памяти - PullRequest
5 голосов
/ 09 февраля 2011

У меня проблемы с аварийным модулем ION-Cube.Модуль импортирует данные csv в нашу базу данных, но если размер файла csv слишком велик (15 + M), результатом является внутренняя ошибка сервера.

Служба поддержки сообщила, что на моем сервере недостаточно оперативной памяти для запуска модуля.На сервере встроена 1 Гб оперативной памяти, поэтому я написал простой тестовый скрипт, чтобы проверить, работает ли ini_set.

<code><pre>
<?php 
function tryAlloc($megabyte){
    echo "try allocating {$megabyte} megabyte...";
    $dummy = str_repeat("-",1048576*$megabyte);
    echo "pass.";
    echo "Usage: " . memory_get_usage(true)/1048576; 
    echo " Peak: " . memory_get_peak_usage(true)/1048576;
    echo "\n";
}   
for($i=10;$i<1000;$i+=50){
    $limit = $i.'M';
    ini_set('memory_limit', $limit); 
    echo "set memory_limit to {$limit}\n"; 
    echo "memory limit is ". ini_get("memory_limit")."\n";
    tryAlloc($i-10);
}

?>

Это работает без проблем.Есть ли серьезные недостатки в этом тесте?У нас много проблем с этим модулем, и служба поддержки постоянно говорит нам, что проблема в нашем сервере.-.-

PS: Нет, я не могу получить доступ к php.ini.Нет, я не могу использовать .htaccess для установки предела памяти.Нет, у меня нет возможности редактировать исправления / отладки модуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...