instalado cargador de muelle de extensión php

php viene con algunas extensiones

Usar la palabra clave ventana acoplable-php-ext-instalar el archivo directamente en el Dockerfile

 

RUN docker-php-ext-install -j$(nproc) iconv \
  && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
  && docker-php-ext-install -j$(nproc) gd
  && docker-php-ext-install pdo_mysql \
  && docker-php-ext-install bcmath \
  && docker-php-ext-install sockets \
  && docker-php-ext-install zip \
  && docker-php-ext-install sysvmsg 

extensión PECL

En el sitio https://pecl.php.net extensión puede utilizar pecl instalar instalación, por ejemplo ReDiS swoole y otras extensiones, prestar atención a si hay necesidad de uso de comandos pecl en el espejo cuando el comando de instalar, se instala

 

RUN pecl install swoole-4.2.12 \
    && docker-php-ext-enable swoole \
    && pecl install inotify-2.0.0 \
    && docker-php-ext-enable inotify 

Después de instalar pecl se iniciará el https://pecl.php.net el paquete de descarga e instalación, por lo que el siguiente también son posibles.

 

RUN wget http://pecl.php.net/get/redis-${PHPREDIS_VERSION}.tgz -O /tmp/redis.tar.tgz \
    && pecl install /tmp/redis.tar.tgz \
    && rm -rf /tmp/redis.tar.tgz \
    && docker-php-ext-enable redis

Descargar las extensiones del paquete de instalación

Algunas extensiones son las dos principales formas no desea instalar o utilizar el código fuente, se puede utilizar de esta manera. De hecho, la esencia de lo anterior dos métodos es descargar e instalar métodos, por lo que tendrán phpize confirman la existencia de tales órdenes, si no se configuran las variables de entorno phpize tienen que escribir toda la ruta. , Sino también para ver si la instalación comando make

El siguiente es el método de instalación de extensiones swoole descarga swoft

 

RUN wget https://github.com/swoole/swoole-src/archive/v${SWOOLE_VERSION}.tar.gz -O swoole.tar.gz \
    && mkdir -p swoole \
    && tar -xf swoole.tar.gz -C swoole --strip-components=1 \
    && rm swoole.tar.gz \
    && ( \
        cd swoole \
        && phpize \
        && ./configure --enable-mysqlnd --enable-sockets --enable-openssl --enable-http2 \
        && make -j$(nproc) \
        && make install \
    ) \
    && rm -r swoole \
    && docker-php-ext-enable swoole 

El siguiente es el sitio oficial de descarga método de extensión php

 

FROM php:5.6-cli
RUN curl -fsSL 'https://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz' -O xcache.tar.gz \
    && mkdir -p xcache \
    && tar -xf xcache.tar.gz -C xcache --strip-components=1 \
    && rm xcache.tar.gz \
    && ( \
        cd xcache \
        && phpize \
        && ./configure --enable-xcache \
        && make -j$(nproc) \
        && make install \
    ) \
    && rm -r xcache \
    && docker-php-ext-enable xcache

instrucciones más detalladas, por favor espejo ventana acoplable php ilustran
el uso de este método señalar lo siguiente:

  1. RUN último comando no puede tener una barra, de lo contrario un error como el siguiente

 

&& docker-php-ext-enable xcache \
  1. El más seguro para descargar los mismos sufijos de paquetes y se descomprime, o descomprimidos cuando se quejará
  2. El primer paso en los parámetros wget es -O, no -o, en mayúsculas. La ventana acoplable Hup está mal

problema

  • pregunta 1

 

Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

ERROR: `phpize' failed

Soluciones, autoconf instalación. centos usar yum, unbantu utilizando el apt-get, alpino es apk

 

RUN apk update \
    && apk add autoconf \
    && docker-php-ext-install pcntl \
    && pecl install redis-5.0.0 \
    && docker-php-ext-enable redis
COPY . /var/www/html
COPY ./docker/nginx-php7/sites-enabled /etc/nginx/sites-enabled
  • Pregunta 2
    de error en ningún compilador de C aceptables encuentra en $ PATH cuando ./configure

 

configure: error: in `/var/www/html/redis':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

Solución alternativa; instalar gcc

 

apk add gcc
  • Pregunta 3
    también está en error al ./configure, compilador de C no puede crear ejecutables

 

configure: error: in `/var/www/html/redis':
configure: error: C compiler cannot create executables
See `config.log' for more details

Desde que estoy usando soluciones alpino de reflejo de una ventana acoplable por favor refiérase a la solución de la siguiente manera:

 

apk add gcc g++

 



Más de tres problema es que me he encontrado durante la instalación ReDiS tiempo prolongado, Dockerfile sigue

 

 

FROM richarvey/nginx-php-fpm:latest

RUN apk update \
    && apk add autoconf \
    && apk add gcc g++\
    && apk add make \
    && docker-php-ext-install pcntl \
    && wget https://pecl.php.net/get/redis-5.0.1.tgz -O redis.tgz \
    && mkdir -p redis \
    && tar -xf redis.tgz -C redis --strip-components=1 \
    && rm redis.tgz \
    && ( \
        cd redis \
        && phpize \
        && ./configure --with-php-config=/usr/local/bin/php-config \
        && make -j$(nproc) \
        && make install \
    ) \
    && rm -r redis \
    && docker-php-ext-enable redis
COPY . /var/www/html
COPY ./docker/nginx-php7/sites-enabled /etc/nginx/sites-enabled

 

Publicado 80 artículos originales · ganado elogios 96 · vistas 360 000 +

Supongo que te gusta

Origin blog.csdn.net/Alen_xiaoxin/article/details/104877279
Recomendado
Clasificación