2011-02-01 291 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