vitaly_74
@vitaly_74

Почему не работает метод rename?

Привожу код docker контейнера:
FROM php:7.3-fpm
ARG COMPOSER_VER
ENV COMPOSER_VER ${COMPOSER_VER:-2.2.9}

WORKDIR /var/www/html

RUN apt-get update && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libpng-dev \
        libzip-dev \
        libxml2-dev \
        curl
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash
RUN apt-get -y install nodejs \
    git \
    unzip
#RUN npm --version
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
RUN docker-php-ext-install \
        soap \
        zip \
        bcmath \
        exif \
        gd \
        iconv \
        intl \
        mbstring \
        opcache \
        pdo_mysql \
        sockets

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

RUN curl -sS https://getcomposer.org/installer | \
            php -- --install-dir /usr/local/bin --filename composer --version ${COMPOSER_VER}

USER 1000

Вот так я создаю папку:
private function runtimeImagesDir(): string
    {
        $dir = Yii::getAlias('@runtime/images');
        if (!is_dir($dir)) {
            // Полный доступ для владельца, доступ на чтение и выполнение для других
            $old_umask = umask(0);
            mkdir($dir, 0775, true);
            umask($old_umask);
        }
        return $dir;
    }

и потом в эту папку загружаю изображние.
но потом, при попытке перенести файл из этой паки в другу (которая создана также) приложение тихонько умирает при этом не показывая никаких сообщений об ошибках.
вот код, которым я пытаюсь переместить файл:
//info результат работы pathinfo(); 
rename(
                $info['dirname'] . $info['basename'], //файл источник
                $this->folder() . '/' . $info['basename'] //то место куда нужно перенести
            )

Пользуюсь wls2 + docker
Пробовал поменять права на www-data не работает т.е. делал
chown -R www-data:www-data path/to/project
Подскажите что делаю не так в чем ошибка?
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ответы на вопрос 1
vitaly_74
@vitaly_74 Автор вопроса
После чтения своего же вопроса, увидел ошибку, было:
rename(
                $info['dirname'] . $info['basename'], //файл источник
                $this->folder() . '/' . $info['basename'] //то место куда нужно перенести
            )

стало (не хватало слеша):
rename(
                $info['dirname'] . '/' . $info['basename'],
                $this->folder() . '/' . $info['basename']
            );
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы