2011-02-01 300 views
5

我正試圖導入本地主機上的magento數據庫時遇到了一些問題。它只是導入18桌,但實際上它包含約383桌。它給出下面給出的錯誤如何增加phpmyadmin的內存大小

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 2089674 bytes) in /usr/share/phpmyadmin/libraries/import.lib.php on line 253

這個問題將如何配置。 是否需要變更php.ini

+3

是,增加php.ini中的內存限制。更好的解決方案是不使用phpmyadmin。使用mysql命令行客戶端導入您的大文件。 – 2011-02-01 07:04:49

回答

14

使用這樣的:

c:\mysql\bin\> mysql -u username -ppassword database_name < filename.sql 

使用命令行

memory_limit = 256M 

變化此導入在php.ini到一些其他更大的值。但是,丹說使用命令行是可取的。

10

的phpMyAdmin已經在我身上吹內存限制最近(我甚至沒有進口/執行大量的數據),所以我只是試着在我的config.inc.php以下

$cfg['MemoryLimit']    = '128M'; 

http://wiki.phpmyadmin.net/pma/Config#MemoryLimit

+0

這是真正增加PHPMyAdmin內存的唯一解決方案。儘管如此,我不得不回退到命令行導入... – gaborsch 2014-08-28 19:23:45

1

你可以改變php.ini作爲其他答案已經提到。你可以在你本地主機上運行。但是在具有更多虛擬主機的web服務器上,您可能不希望增加所有主機的內存限制(這是php.ini中的指令)。

僅爲給定的虛擬主機編輯虛擬主機設置增加內存限制。例如:

<VirtualHost *:443> 
    #your virtualhost settings 
    php_value memory_limit 64M #place any number you need 
</VirtualHost> 

或者,您可以將相同的php_value到您的.htaccess文件,但您的虛擬主機必須允許更改此值。

0

我是數據庫遷移的同樣的問題。

嘗試改變出口的配置來構建文件,這樣的疑問:

INSERT INTO tbl_name VALUES (1,2,3) 

當我創建類的查詢這一個:

INSERT INTO tbl_name (col_A,col_B) VALUES (1,2,3), (4,5,6), (7,8,9) 

查詢是太大而在內存中它們分配。 當我改變它時,有很多小的查詢,所以沒有內存問題。

0

使用此:

編輯php.ini文件:更改

memory_limit = 256M