Я пытаюсь запустить сервер Apache с PHP 8.2 с помощью Docker, но не могу активировать библиотеку GD и OPCache и не понимаю почему.
Мой файл
# 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
GD и OPCache не устанавливаются на Docker php-8.2-apache ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Расширения PHP не устанавливаются правильно при использовании Docker [Duplicate]
Anonymous » » в форуме Php - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Установите php-opcache и php-pecl-apcu, установленные через репозиторий Remi.
Anonymous » » в форуме Php - 0 Ответы
- 47 Просмотры
-
Последнее сообщение Anonymous
-