繁体   English   中英

Storage::copy in laravel 不复制大文件完美

[英]Storage::copy in laravel doesnt copy a Large file Perfect

我正在尝试使用此代码将 10GB 文件复制到本地磁盘中的另一个目录 Storage::copy( 'file/test.txt', 'file2/dest.txt' );

但是当我在目标路径上检查它时,它只复制了 10GB 中的 1.7GB。 它根本没有显示任何超时错误。 有什么解决办法吗?

只要调用 php 脚本就会发生请求。 恶意代码可以使系统陷入无限循环,或者攻击者(Danial of Service)可以使脚本长时间运行。

所以要防止这种情况。 PHP 提出了一些默认设置,使其长时间不运行并在经过一段时间后退出执行并且没有返回响应。

通常这个时间就足够了。 这是一个不寻常的情况,您必须在脚本运行中复制 10 GB 文件

我想你的普通硬盘速度约为 60 MB/s,执行时间为 30 秒,它将复制大约 1800 MB。 你的证据是有意义的。

临时修复

10000 MB / 60 MBps = 168 秒。 我想出了 180 秒的余量

在您的php.ini中,在资源限制部分,有超时参数。 取消注释并将它们设为 180秒:

max_execution_time = 180
max_input_time = 180

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM