20

我一直在尝试将大数据上传到我的测试服务器,到目前为止我已经修改了一些文件:

php.ini

memory_limit=2048M
php_value post_max_size 2048M
php_value upload_max_filesize 2048M

我的.ini

key_buffer = 32M
max_allowed_packet = 2048M
sort_buffer_size = 32M
net_buffer_length = 32M
read_buffer_size = 32M
read_rnd_buffer_size = 32M
myisam_sort_buffer_size = 64M

我可以上传更大的文件,大约 50mb,但在尝试上传大约 200mb 的文件时仍然收到以下错误:

致命错误:第 1879 行 C:\Program Files\xampp\phpMyAdmin\libraries\insert_edit.lib.php 中的内存不足(已分配 1161822208)(试图分配 462046611 字节)

4

5 回答 5

47

在 php.ini 中应用

post_max_size = 750M 
upload_max_filesize = 750M 
max_execution_time = 5000 
max_input_time = 5000 
memory_limit = 1000M 

然后重新启动 wamp/lampp/xampp 以使更改生效 需要很长时间。如果您收到以下错误“如果要完成导入,请重新提交相同的 zip 文件,导入将恢复”

然后在 phpMyAdmin

phpMyAdmin\libraries\config.default.php

/**
 * maximum execution time in seconds (0 for no limit)
 *
 * @global integer $cfg['ExecTimeLimit']
 */
$cfg['ExecTimeLimit'] = 0;

更改

于 2014-03-26T08:40:46.633 回答
18

来源:如何在 XAMPP 中导入大型数据库文件

在 xampp\php\php.ini 中进行更改

查找以下内容:

post_max_size       = 8M
upload_max_filesize = 2M
max_execution_time  = 30
max_input_time      = 60
memory_limit        = 8M

然后用以下内容替换这些行:

post_max_size       = 750M
upload_max_filesize = 750M
max_execution_time  = 5000
max_input_time      = 5000
memory_limit        = 1000M

进行更改后重新启动 XAMPP,如果您仍然看到相同的错误 - 尝试重新启动计算机。

于 2015-01-09T08:03:59.677 回答
7

如果可能,尝试通过命令行导入 MySQL 数据。

mysql -u user -p database < dump.sql
于 2013-08-20T20:00:17.633 回答
4

或者,您可以通过 shell 进行 mysql 导入,而不是解析您的 SQL:

使用这个 CMD:mysql -p -u username database_name < file.sql

在此处阅读说明如何通过 Xampp 打开 shell

于 2014-03-26T08:45:11.070 回答
0

只需更改这两个值。

upload_max_filesize = 200M

max_execution_time = 60000

于 2020-04-06T09:55:55.290 回答