【发布时间】:2019-02-03 05:49:48
【问题描述】:
我正在尝试上传 csv 文件,以便将这些数据上传到数据库中。 代码如下
public function upload(Request $request){
set_time_limit(0);
ini_set('MAX_EXECUTION_TIME', 36000);
$file = Input::file('file');
$filePath = $file->getRealPath();
$handle = fopen($filePath, "r");
while(!feof($handle))
{
<< DO THE DATABASE OPERATION >>
}
fclose($handle);
return redirect()->back()->with('success', 'File uploaded successfully');
}
如果文件大小小于 100 或 200mb,这可以正常工作。但是当文件大小像2GB这样大时。它关闭本地服务器。在控制台中,它说内存不足
我的 php.ini 设置是:
post_max_size=10000M
upload_max_filesize=10000M
我的系统配置:
64位窗口机
问题
不仅上传失败,还关闭了开发服务器,即localhost:8000
谁能告诉我为什么会这样,我该如何解决。 我确实像这样在 StackOverflow 上关注了几个线程
phpMyAdmin: Can't import huge database file, any suggestions?
Large file uploads failing php
Uploading a file larger than 2GB using PHP
但不幸的是,这些解决方案没有帮助。
【问题讨论】:
-
是的,同样的问题,但这些解决方案不起作用。请检查我的 php.ini 设置。我确实已经应用了这些解决方案。我要上传的文件是 1.6GB,所以应用程序关闭本地服务器没有任何意义。
-
编辑您的 Apache 配置非常快;) 您正在运行什么版本的 PHP?文件是 2GB 还是 1.6GB?
-
这不是快速编辑,以防万一你没有注意到,我在发布这个问题时添加了 php.ini 设置。我正在使用
php 7.1。我要上传的文件是 1.6GB,我还有另一个文件是 4.3GB。我想同时上传它们 -
好的,
memory_limit的配置值是多少?
标签: php laravel laravel-5 phpmyadmin