GD и OPCache не устанавливаются на Docker php-8.2-apachePhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 GD и OPCache не устанавливаются на Docker php-8.2-apache

Сообщение Anonymous »

Я пытаюсь запустить сервер Apache с PHP 8.2 с помощью Docker, но не могу активировать библиотеку GD и OPCache и не могу понять, почему. Несмотря на то, что изображение работает нормально, GD и OPCache присутствуют ни в выводе php -m, ни в результате phpinfo(). Конечно, я не могу использовать функции в своих файлах php. Я много боролся, но не знаю, почему это происходит. В сборке Docker нет абсолютно никаких ошибок.
Мой файл Dockerfile
# Start with the PHP 8.2 Apache base image
FROM php:8.2-apache

# Install persistent dependencies and GD extension
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
ghostscript \
libfreetype-dev \
libjpeg62-turbo-dev \
libpng-dev \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-enable gd \
&& rm -rf /var/lib/apt/lists/*

# Install the PHP extensions we need
RUN set -ex; \
savedAptMark="$(apt-mark showmanual)"; \
apt-get update; \
apt-get install -y --no-install-recommends \
libavif-dev \
libfreetype6-dev \
libicu-dev \
libjpeg-dev \
libmagickwand-dev \
libpng-dev \
libwebp-dev \
libzip-dev \
default-mysql-client \
default-libmysqlclient-dev \
; \
docker-php-ext-configure gd \
--with-avif \
--with-freetype \
--with-jpeg \
--with-webp \
; \
docker-php-ext-install -j "$(nproc)" \
bcmath \
exif \
gd \
intl \
mysqli \
zip \
; \
docker-php-ext-enable mysqli; \
# Install imagick extension
pecl install imagick-3.7.0; \
docker-php-ext-enable imagick; \
# Clean up
rm -rf /tmp/pear; \
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*

# Set recommended PHP.ini settings for Opcache
RUN set -eux; \
docker-php-ext-install opcache; \
docker-php-ext-enable opcache; \
{ \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=4000'; \
echo 'opcache.revalidate_freq=2'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini

# Configure error logging
RUN { \
echo 'error_reporting = E_ERROR | E_WARNING | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_RECOVERABLE_ERROR'; \
echo 'display_errors = Off'; \
echo 'display_startup_errors = Off'; \
echo 'log_errors = On'; \
echo 'error_log = /dev/stderr'; \
echo 'log_errors_max_len = 1024'; \
echo 'ignore_repeated_errors = On'; \
echo 'ignore_repeated_source = Off'; \
echo 'html_errors = Off'; \
} > /usr/local/etc/php/conf.d/error-logging.ini

# Enable Apache modules and configure remote IP handling
RUN set -eux; \
a2enmod rewrite expires headers remoteip; \
{ \
echo 'RemoteIPHeader X-Forwarded-For'; \
echo 'RemoteIPInternalProxy 10.0.0.0/8'; \
echo 'RemoteIPInternalProxy 172.16.0.0/12'; \
echo 'RemoteIPInternalProxy 192.168.0.0/16'; \
echo 'RemoteIPInternalProxy 169.254.0.0/16'; \
echo 'RemoteIPInternalProxy 127.0.0.0/8'; \
} > /etc/apache2/conf-available/remoteip.conf; \
a2enconf remoteip; \
find /etc/apache2 -type f -name '*.conf' -exec sed -ri \
's/([[:space:]]*LogFormat[[:space:]]+"[^"]*)%h([^"]*")/\1%a\2/g' '{}' +

# Install necessary packages including build tools
RUN apt-get update \
&& apt-get -y install ca-certificates wget curl zlib1g-dev libzip-dev libssl-dev autoconf automake libtool ffmpeg libprotobuf-dev libboost-dev openssl protobuf-compiler libcurl4-openssl-dev \
libicu-dev libpq-dev libonig-dev git zip unzip bison re2c \
&& update-ca-certificates \
&& rm -rf /var/lib/apt/lists/*

# Prepare Imagick
RUN apt-get update && apt-get install -y libmagickwand-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*

# Configure PDO MySQL
RUN docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd

# Install PHP extensions - Split into multiple RUN commands to avoid conflicts and easier troubleshooting
RUN docker-php-ext-install intl
RUN docker-php-ext-install mbstring
RUN docker-php-ext-install pcntl
RUN docker-php-ext-install pdo_mysql
RUN docker-php-ext-install pdo_pgsql
RUN docker-php-ext-install pgsql
RUN docker-php-ext-install zip
RUN docker-php-ext-install gettext
RUN docker-php-ext-install bcmath
RUN docker-php-ext-install calendar
RUN docker-php-ext-install exif
RUN docker-php-ext-install ftp
RUN docker-php-ext-install sysvsem
RUN docker-php-ext-install sysvshm
RUN docker-php-ext-install sysvmsg
RUN docker-php-ext-install shmop
RUN docker-php-ext-install phar
RUN docker-php-ext-install curl
RUN docker-php-ext-install simplexml
RUN docker-php-ext-install xml
RUN docker-php-ext-install dom

# Ensure tokenizer is installed after all other extensions
RUN apt-get update \
&& apt-get -y install --no-install-recommends \
bison re2c \
&& rm -rf /var/lib/apt/lists/*

RUN docker-php-ext-install ctype
RUN docker-php-ext-install session
RUN docker-php-ext-install fileinfo
RUN docker-php-ext-install iconv
RUN docker-php-ext-install posix
RUN docker-php-ext-install sockets
RUN docker-php-ext-install bz2

# Enable all necessary extensions
RUN docker-php-ext-enable intl
RUN docker-php-ext-enable mbstring
RUN docker-php-ext-enable pcntl
RUN docker-php-ext-enable pdo_mysql
RUN docker-php-ext-enable pdo_pgsql
RUN docker-php-ext-enable pgsql
RUN docker-php-ext-enable zip
RUN docker-php-ext-enable gettext
RUN docker-php-ext-enable bcmath
RUN docker-php-ext-enable calendar
RUN docker-php-ext-enable exif
RUN docker-php-ext-enable ftp
RUN docker-php-ext-enable sysvsem
RUN docker-php-ext-enable sysvshm
RUN docker-php-ext-enable sysvmsg
RUN docker-php-ext-enable shmop
RUN docker-php-ext-enable phar
RUN docker-php-ext-enable curl
RUN docker-php-ext-enable simplexml
RUN docker-php-ext-enable xml
RUN docker-php-ext-enable dom
RUN docker-php-ext-enable ctype
RUN docker-php-ext-enable session
RUN docker-php-ext-enable fileinfo
RUN docker-php-ext-enable iconv
RUN docker-php-ext-enable posix
RUN docker-php-ext-enable gd
RUN docker-php-ext-enable sockets
RUN docker-php-ext-enable bz2
RUN docker-php-ext-enable imagick

# Set application folder as environment variable
ENV APP_HOME /var/www/html

# Change ownership of application
RUN chown -R www-data:www-data $APP_HOME

# Enable PHP production mode
RUN mv /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini

# Set timezone to UTC in PHP configuration
RUN sed -i "s/;date.timezone =.*/date.timezone = UTC/" /usr/local/etc/php/php.ini

# Change ownership of web directory
RUN chown -R www-data:www-data /var/www



Подробнее здесь: https://stackoverflow.com/questions/791 ... 8-2-apache
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • GD и OPCache не устанавливаются на Docker php-8.2-apache
    Anonymous » » в форуме Php
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Частые сбои Opcache в WSL с Apache и Libapache2-Php
    Anonymous » » в форуме Php
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Частые сбои Opcache в WSL с Apache и Libapache2-Php
    Anonymous » » в форуме Apache
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Расширения PHP не устанавливаются правильно при использовании Docker [Duplicate]
    Anonymous » » в форуме Php
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Установите php-opcache и php-pecl-apcu, установленные через репозиторий Remi.
    Anonymous » » в форуме Php
    0 Ответы
    47 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»