使用Spreadsheet_Excel_Reader讀取大型.xls文件時出現29MB(3張,28000行/張)錯誤時出現以下錯誤。致命錯誤:讀取大型Excel文件時耗盡內存大小
致命錯誤:用盡134217728個字節允許內存大小(試圖分配71個字節)...
我改變memory_limit的在php.ini至128M,並且還試圖改變其運行時間的ini_set ('memory_limit','-1');爲無限但錯誤未解決。
使用Spreadsheet_Excel_Reader讀取大型.xls文件時出現29MB(3張,28000行/張)錯誤時出現以下錯誤。致命錯誤:讀取大型Excel文件時耗盡內存大小
致命錯誤:用盡134217728個字節允許內存大小(試圖分配71個字節)...
我改變memory_limit的在php.ini至128M,並且還試圖改變其運行時間的ini_set ('memory_limit','-1');爲無限但錯誤未解決。
不知道你能做'-1'。
你可以嘗試:
ini_set('memory_limit', '512M');
ini_set('memory_limit', '-1');
覆蓋默認PHP memory limit
AND/OR
ini_set('max_execution_time', INCREASE TIME);
大概一個服務器都有一個64位處理器。 GetInt4d位移不適用於64位處理器。 地點:
使用這個技巧,以確保在32個和64位系統的< < 24塊的正確的結果,只是有以下替換GetInt4d函數的代碼的Excel/olereader.inc線沒有-27,功能GetInt4d ()
$_or_24 = ord($data[$pos+3]);
if ($_or_24>=128) $_ord_24 = -abs((256-$_or_24) << 24); else $_ord_24 = ($_or_24&127) << 24;
return ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | $_ord_24;
'-1' 我等小一的偉大工程文件大小的裝載。我也試過用32M,64M,128M,256M和512M來改變內存限制的其他選項,但問題沒有解決。 – hardik