2013-06-19 181 views
13

我正在處理一箇舊的數據庫php數組。數據.php文件總共大約220 MB。使用ini_set(「memory_limit」,「-1」)仍然內存不足

我插入腳本這些行,以便它應該運行良好:

ini_set("memory_limit", "-1"); 
set_time_limit(0); 

這是我包括產品:

// The exports made by PHPMYADMIN, exported as PHP-Array 
require_once 'export/tx_ttproductsv2_products.php'; 
require_once 'export/tx_ttproductsv2_keyword.php'; 
require_once 'export/tx_ttproductsv2_keywords_in_products.php'; 
require_once 'export/tx_ttproductsv2_typebook.php'; 
require_once 'export/tx_ttproductsv2_typegospel7.php'; 
require_once 'export/tx_ttproductsv2_typemedia.php'; 

當腳本試圖要求他們我得到這個錯誤:

PHP Fatal error: Out of memory (allocated 880541696) (tried to allocate 469762048 bytes) in ......

我有一個本地的EasyPHP安裝在x64 Win 7 SP1上運行。我有6 GB的內存,英特爾i5。

如何讓PHP運行整個腳本而沒有內存錯誤?

+0

嘗試增加'upload_max_filesize'和'post_max_size'? –

+0

@KhawerZeshan,我不上傳東西?或者我看到那個錯誤? PHPMYADMIN導出的 – Mathlight

+0

是一個文件還是什麼? –

回答

11

內存限制來自操作系統,而不是來自PHP本身。

你的腳本分配800MB,並試圖進一步分配500MB

嘗試使用64位PHP運行在64位操作系統的腳本。

+0

這可能會修復很多,但我無法現在測試它(我需要它立即工作)。 – Mathlight

+1

最好的解決方案是讓您獲取數據並以塊爲單位進行處理,而不是將所有數據加載到內存中,然後進行處理。 –

+0

我知道,我已經將它分成三部分(現在編碼),這應該很好......感謝任何幫助和想法;) – Mathlight

相關問題