嗨,我上傳我的php測試腳本到在線vps服務器剛纔。該腳本用於解析一個大尺寸的XML文件(大約4M,7000線)。但我的IE瀏覽器顯示下面的在線錯誤消息。致命錯誤:允許的內存大小用盡
致命錯誤:用盡16777216個字節允許存儲器大小(試圖分配77個字節)中/var/www/test/result/index.php上線26
我確信我已經測試了本地主機上的PHP腳本成功。
是否需要在我的VPS上啓用/修改任何配置?比如php.ini或者apache服務器的一些設置?我剛剛證實,我的VPS有大約200M的內存使用量。我怎樣才能解決這個問題?
......
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 2010-05-05 10:14:31
哪個庫你用來解析文件嗎?如果它是一個很大的文件,你可能會考慮在任何其他庫上使用XMLReader,因爲它不必首先將整個文檔加載到內存中。 – Gordon 2010-05-05 10:20:24
@戈登,我沒有使用一些庫,我只是找到了教程'codehelp.co.uk/php/xmlparse1.php',並用我的XML文件進行練習。我將在稍後學習XMLReader。謝謝。 – 2010-05-05 11:18:55