Xampp - PHPMyAdmin 上传大文件?
Posted
技术标签:
【中文标题】Xampp - PHPMyAdmin 上传大文件?【英文标题】:Xampp - PHPMyAdmin upload large files? 【发布时间】:2013-08-23 00:35:09 【问题描述】:我一直在尝试将大数据上传到我的测试服务器,到目前为止我已经修改了一些文件:
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 字节)
【问题讨论】:
您可以随时将文件拆分成更小的文件并上传 有没有办法自动做到这一点? 您要导入什么类型的文件,目前您打算如何导入? 【参考方案1】:如果可能,尝试通过命令行导入 mysql 数据。
mysql -u user -p database < dump.sql
【讨论】:
【参考方案2】:在 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;
改一下
【讨论】:
非常感谢您的解决方案,它真的很有帮助 我正在使用 MAC air,我尝试了这个 trice,但仍然是同样的问题,我试图将它从 300 更改为 0,但仍然显示 300【参考方案3】:或者,您可以通过 shell 导入 mysql,而不是解析您的 SQL:
使用这个 CMD:mysql -p -u username database_name 在此处阅读说明如何通过 Xampp here 打开 shell
【讨论】:
【参考方案4】:来源:How to Import Large Database Files in 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,如果您仍然看到相同的错误,请尝试重新启动计算机。
【讨论】:
【参考方案5】:只需更改这两个值。
upload_max_filesize = 200M
max_execution_time = 60000
【讨论】:
以上是关于Xampp - PHPMyAdmin 上传大文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在服务器上的phpmyadmin中上传一个大的sql文件
在 xampp 的 phpmyadmin 中添加 htaccess 文件