Storage::copy в laravel не копирует большой файл Perfect

Я пытаюсь скопировать файл размером 10 ГБ в другой каталог на моем локальном диске, используя этот код Storage::copy('file/test.txt', 'file2/dest.txt');

Но когда я проверяю его на пути назначения, он скопировал только 1,7 ГБ из 10 ГБ. Он вообще не показывал никаких ошибок тайм-аута. Есть ли работа над этим?


person Jm Dollosa    schedule 11.12.2020    source источник
comment
сколько нужно копировать? Вы обновили каталог, чтобы увидеть, насколько он становится больше или нет?   -  person Abilogos    schedule 11.12.2020
comment
сколько требуется, чтобы скопировать этот объем данных в секундах? Вы можете измерить время? кажется, я получил твой ответ   -  person Abilogos    schedule 11.12.2020
comment
мой ответ помог вам? или что произошло, когда вы увеличили время выполнения?   -  person Abilogos    schedule 12.12.2020
comment
Привет @Abilogos Большое спасибо за ваш ответ, сегодня я попробую ваше решение и сообщу вам, решило ли оно проблему.   -  person Jm Dollosa    schedule 13.12.2020


Ответы (1)


пока вызов php-скрипта будет происходить с запросом. вредоносный код может превратить систему в бесконечный цикл, или злоумышленник (Danial of Service) может заставить скрипт работать в течение длительного времени.

так чтобы предотвратить это. PHP придумал некоторые настройки по умолчанию, которые заставляют его не запускаться в течение длительного периода времени и завершать выполнение, если прошло некоторое время ожидания и он не вернул ответ.

обычно этого времени достаточно. и это необычный случай, вам нужно скопировать файл размером 10 ГБ в рамках запуска скрипта.

Я предполагаю, что у вас есть обычный жесткий диск со скоростью около 60 МБ/с и временем выполнения 30 секунд, он скопирует около 1800 МБ. и это имеет смысл с вашими доказательствами.

Временное исправление

10000 МБ / 60 МБ/с = 168 секунд. я придумал 180 секунд с запасом

в вашем php.ini в разделе Ограничение ресурсов есть параметры для тайм-аута. раскомментируйте их и увеличьте до 180 секунд:

max_execution_time = 180
max_input_time = 180
person Abilogos    schedule 11.12.2020