我目前正在開發一個運行在PHP 7上的Laravel 5.4應用程序。我正在使用Google Drive作爲我的存儲空間。我試圖上傳200-300 MB或更小的大文件文件10-12 kb到我的谷歌驅動器存儲使用nao-pon/flysystem
。爲此,我遵循本教程:https://gist.github.com/ivanvermeyen/cc7c59c185daad9d4e7cb8c661d7b89b。 我已經改變了我的php.ini這樣的:Laravel在Google Drive中上傳任意大小的文件
post_max_size = 800M
upload_max_filesize = 700M
我可以上傳發生小銼的問題,當我試圖上傳大文件,200-250 MB的大小,alotted PHP memory_limit
超越與我得到錯誤。
我已經使用這個控制方法
$files = $request->file('files');
if($request->hasFile('files')){
foreach ($files as $file) {
$name = $file->getClientOriginalName();
$disk = Storage::disk('google');
$disk->put($name, File::get($file));
}
}
所以,我搜索谷歌,我怎麼能上傳大文件,而不超越
memory_limit
,我得到這個亞馬遜S3和我將它修改爲Google驅動器:
$disk = Storage::disk('google');
$disk->put($name, fopen($file, 'r+'));
Bu T,現在我得到另一個錯誤試圖文件的任何規模大小上傳(10KB-300MB):
(1/1) ErrorException
A non well formed numeric value encountered
in GoogleDriveAdapter.php (line 1143)
at HandleExceptions->handleError(8, 'A non well formed numeric value encountered', '/app/vendor/nao-pon/flysystem-google-drive/src/GoogleDriveAdapter.php', 1143, array('iniName' => 'memory_limit', 'val' => '128M', 'last' => 'm'))in GoogleDriveAdapter.php (line 1143)]
這種方法用於本地storage.But工作的罰款不是谷歌驅動器。 所以,我的問題是,有沒有什麼方法或包裝,這是簡單的,我可以很容易地實現它將任何大小的文件上傳到我的谷歌驅動器沒有任何安裝。
它可能是您的網絡服務器採取行動。您是否更改了網絡服務器的上傳大小? – Ali
是的,我做到了。 –