Я пытаюсь включить apcu cli в своем док-контейнере, чтобы запустить тест. Это мой файл докера, я использую:
Когда я пытаюсь запустить свой тест внутри этого докера, он терпит неудачу из-за ошибки apcu. Однако в prod apcu работает хорошо, потому что он включен, но в тесте должен быть включен cli.
FROM php:7.3-cli
ARG APCU_VERSION=5.1.11
RUN apt-get update && apt-get -y install git zip libzip-dev wget \
zlib1g-dev unzip libpq-dev git-core libmcrypt-dev vim libfcgi0ldbl gnupg \
libfreetype6-dev libjpeg62-turbo-dev libpng-dev libicu-dev
#INSTALL COMPOSER
RUN echo "memory_limit = -1" > /usr/local/etc/php/conf.d/memory_limit.ini
RUN curl -sS http://getcomposer.org/installer | php -- --filename=composer && chmod a+x composer && mv composer /usr/local/bin/composer
RUN echo 'export PATH=~/.composer/vendor/bin:$PATH' >> ~/.bashrc
RUN composer global require hirak/prestissimo
#ENABLE DOCKER LIBS
RUN docker-php-ext-install zip pdo pdo_pgsql pgsql mbstring opcache -j$(nproc) gd
RUN docker-php-ext-configure intl && docker-php-ext-install intl
RUN docker-php-ext-configure opcache --enable-opcache
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
#INSTALL XDEBUG
RUN pecl install xdebug-2.7.0RC1 && docker-php-ext-enable xdebug
#XDEBUG
#INSTALL APCU
RUN pecl install apcu-${APCU_VERSION} && docker-php-ext-enable apcu
RUN echo "extension=apcu.so" > /usr/local/etc/php/php.ini
RUN echo "apc.enable_cli=1" > /usr/local/etc/php/php.ini
RUN echo "apc.enable=1" > /usr/local/etc/php/php.ini
#APCU
RUN php --ini
RUN php --info | grep apc
#MAKE tmp WRITABLE
RUN chmod 777 -R /tmp && chmod o+t -R /tmp
Но в конце, когда я печатаю информацию о php, результат:
Additional .ini files parsed => /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini,
apcu
apc.coredump_unmap => Off => Off
apc.enable_cli => Off => Off
apc.enabled => On => On
apc.entries_hint => 4096 => 4096
apc.gc_ttl => 3600 => 3600
apc.mmap_file_mask => no value => no value
apc.preload_path => no value => no value
apc.serializer => php => php
apc.shm_segments => 1 => 1
apc.shm_size => 32M => 32M
apc.slam_defense => On => On
apc.smart => 0 => 0
apc.ttl => 0 => 0
apc.use_request_time => On => On
apc.writable => /tmp => /tmp
Спасибо за помощь.
С Уважением






Прости,
моя вина...
Если вы хотите добавить строку в файл, вы должны использовать >> в эхо-строке.
Я надеюсь, что это поможет кому-то, с уважением
Просто
docker-php-ext-enable apc
или
docker-php-ext-enable apcu
Кроме того, если вы хотите записать несколько строк в один и тот же файл, используйте
printf "line\n" >> file, чтобы иметь по одному свойству в строке. В противном случае вы получите одну длинную строку, напримерextension=apcu.soapc.enable_cli=1apc.enable=1