HI, я загружаю свой скрипт тестирования php на онлайн-сервер vps только сейчас. Сценарий, используемый для анализа XML-файла большого размера (около 4M, 7000Lines). Но мой проводник IE показывает онлайн-сообщение об ошибке ниже.Неустранимая ошибка: допустимый размер памяти исчерпан
Фатальная ошибка: Разрешены памяти размером 16777216 байт исчерпаны (пытались выделить 77 байт) в /var/www/test/result/index.php на линии 26
Я уверен, что я уже тестировал php на локальном хосте успешно.
Нужно ли включать или изменять конфигурацию на моем VPS? Например, php.ini или некоторые настройки для сервера Apache? Я просто подтвердил, что для моего VPS доступно около 200 Мб памяти. Как я могу это исправить?
......
function startElementHandler ($parser,$name,$attrib){
global $usercount;
global $userdata;
global $state; // Line #26;
//Debug
//print "name is: ".$name."\n";
switch ($name) {
case $name=="_ID" : {
$userdata[$usercount]["first"] = $attrib["FIRST"];
$userdata[$usercount]["last"] = $attrib["LAST"];
$userdata[$usercount]["nick"] = $attrib["NICK"];
$userdata[$usercount]["title"] = $attrib["TITLE"];
break;
}
......
default : {$state=$name;break;}
}
}
иметь в виду, что один день ваш XML может вырастать вашу доступную память ... – Axarydax
какая библиотека вы используете для разбора файла? Если это большой файл, вы можете захотеть использовать XMLReader над любой другой библиотекой, потому что ему не нужно сначала загружать весь документ в память. – Gordon
@ Gordon, я не использовал какую-то библиотеку, я только что нашел учебник «codehelp.co.uk/php/xmlparse1.php» и практиковал его с помощью моего XML-файла. И я узнал бы XMLReader позже. Благодарю. –