FROM php:latest RUN apt update -y && apt upgrade -y RUN apt install -y \ libfreetype-dev \ libjpeg62-turbo-dev \ libpng-dev \ imagemagick \ libmagickwand-dev imagemagick \ git \ zip unzip \ openssl libssl-dev libcurl4-openssl-dev \ protobuf-compiler \ autoconf zlib1g-dev \ && pecl install imagick \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install -j$(nproc) gd RUN pecl install redis && docker-php-ext-enable redis RUN docker-php-ext-install opcache && docker-php-ext-enable opcache RUN docker-php-ext-install pdo pdo_mysql RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli RUN docker-php-ext-install sockets && docker-php-ext-enable sockets # https://wiki.swoole.com/#/environment?id=%e5%bf%ab%e9%80%9f%e5%ae%89%e8%a3%85 # https://wiki.swoole.com/#/environment?id=pecl # https://c-ares.org/, https://blog.csdn.net/flymore96/article/details/127088192 RUN pecl install --configureoptions 'enable-sockets="yes" enable-openssl="yes" enable-http2="yes" enable-mysqlnd="yes" enable-swoole-json="yes" enable-swoole-curl="yes" enable-cares="no"' swoole # https://wiki.swoole.com/#/environment?id=%e6%b7%bb%e5%8a%a0swoole%e5%88%b0phpini RUN echo 'extension=swoole.so' >> /usr/local/etc/php/conf.d/swoole.ini # https://github.com/viest/php-ext-xlswriter RUN pecl install xlswriter # https://cloud.google.com/php/grpc RUN pecl install grpc RUN echo 'extension=grpc.so' >> /usr/local/etc/php/conf.d/grpc.ini RUN pecl install protobuf RUN echo "extension=protobuf.so" >> /usr/local/etc/php/conf.d/protobuf.ini # https://dev.to/kakisoft/php-docker-how-to-enable-pcntlprocess-control-extensions-1afk RUN docker-php-ext-configure pcntl --enable-pcntl && docker-php-ext-install pcntl RUN pecl install apcu RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer RUN rm -rf /var/cache/apt/lists # Please refer to the README.md for updating these 2 files. #COPY src/composer.json /tmp #RUN cd /tmp && composer install && composer update --optimize-autoloader #RUN mv /tmp/vendor /var/www/html #RUN cp /tmp/composer.* /var/www/html #RUN composer clear-cache COPY build/php/php.ini /usr/local/etc/php/php.ini