Невозможно сохранить ftp zip-файл с Laravel и Docker

Когда я пытаюсь сохранить zip-файл с ftp, файл никогда не сохраняется в файловой системе Docker. Я могу запустить приведенный ниже код локально, и файл будет сохранен без проблем. Когда я запускаю приведенный ниже код в контейнере Docker, файл никогда не записывается в папку хранилища.

    $loc = storage_path('app/rovi/');

    $remote_file = $directory . $m->remoteFileName . $yesterday . '_Full.zip';

    // get zip file
    $zip_file = Storage::disk('ftp')->get($remote_file);

    $this->info($zip_file);

    $this->info('Download file received...');

    Storage::disk('local')->put( $m->fileNameZip . '.zip', $zip_file);

Файл Docker

FROM nielsvdoorn/docker-alpine-laravel:latest

RUN apk update

RUN pecl install mongodb \
    && docker-php-ext-enable mongodb

 RUN apk add zlib-dev \
    && docker-php-ext-configure zip --with-zlib-dir=/usr \
    && docker-php-ext-install zip


RUN apk add --no-cache $PHPIZE_DEPS \
    && pecl install xdebug-2.6.0 \
    && docker-php-ext-enable xdebug

RUN apk add curl-dev
RUN apk add libxml2-dev

RUN printf "xdebug.remote_autostart=1\n" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN printf "xdebug.remote_enable=1\n" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN printf "xdebug.remote_handler=dbgp\n" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN printf "xdebug.remote_mode=req\n" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN printf "xdebug.remote_host=92.168.1.118\n" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN printf "xdebug.remote_port=9000\n" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN printf "xdebug.remote_connect_back=1\n" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN printf "memory_limit=512M" >> /usr/local/etc/php/php.ini

# for confirmation
RUN cat /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN php -i | grep xdebug.remote

COPY ./usr /usr

COPY . /var/www/html

RUN apk add --update bash && rm -rf /var/cache/apk/*
COPY ./rancher/supervisord.conf /etc/supervisord.conf

RUN chown -R root:root /var/www/html/storage
RUN chmod 777 -R /var/www/html/storage

Файл никогда не сохраняется при установке Storage :: disk, и я сменил владельца на root и разрешения на 777 для тестирования. По-прежнему не повезло. Нет ошибок в журналах laravel

Журналы пишутся? Какие сообщения об ошибках вы видите? Без вашего Dockerfile трудно сказать наверняка, но я полагаю, что это проблема с разрешениями.

tim 29.11.2018 00:25

В итоге я использовал file_put_contents и смог сохранить файл. Я бы хотел, чтобы Storage :: put мог выдавать более подробные ошибки при неудачном сохранении.

edcoder 29.11.2018 15:50
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
2
236
0

Другие вопросы по теме