고정 표시기 설치 PHP 확장

PHP는 약간의 확장과 함께 제공

Dockerfile에 직접 키워드 고정 표시기-PHP-EXT-설치 파일을 사용하여

 

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 

PECL 확장

사이트에 https://pecl.php.net 확장이 사용할 수있는 설치 PECL 예는 명령을 설치하는 거울에 사용 pecl 명령을 할 필요가 있는지에 swoole 및 기타 확장에주의를 레디 스에 대한 설치를 설치하지

 

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

PECL 후 시작합니다 설치 https://pecl.php.net 다음도 가능하므로, 다운로드 패키지 및 설치.

 

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

설치 패키지 확장을 다운로드

일부 확장은 상단 두 가지 방법이 없습니다 설치하거나 소스 코드를 사용하려면, 당신은이 방법을 사용할 수 있습니다. 사실, 두 가지 방법 위의 본질은, 다운로드 방법을 설치하는 것입니다 그들은의 phpize 환경 변수가 전체 경로를 쓸 필요가 구성되지 않은 경우,의 phpize를 확인에게 같은 주문의 존재를 가지게됩니다. 뿐만 아니라, 확인합니다 설치하면 make 명령

다음은 swoft 다운로드 swoole 확장 설치 방법

 

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 

다음은 다운로드 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

더 자세한 설명은, 제발 고정 표시기 PHP를 거울 설명
다음 사항을주의하는 것이이 방법의 사용을 :

  1. RUN 마지막 명령은 다음과 같은 슬래시, 그렇지 않으면 오류를 가질 수 없습니다

 

&& docker-php-ext-enable xcache \
  1. 는 가장 확실 동일한 패키지 접미사를 다운로드 및 압축 해제, 또는 불평 때 압축 해제하기
  2. wget과 파라미터의 첫 번째 단계는 대문자가 아닌 -o, -O이다. 고정 표시기의 HUP는 잘못

문제

  • 질문 1

 

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

ERROR: `phpize' failed

솔루션 설치 autoconf를. CentOS는이 apt-get을을 사용하여 냠, unbantu 사용, 고산는 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
  • 질문이
    더 허용 C 컴파일러에서 오류가 때 ./configure를 $ PATH에서 발견

 

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

해결 방법, GCC를 설치

 

apk add gcc
  • 질문 3은
    ./configure 실행은 C 컴파일러는 실행 파일을 만들 수 없습니다 오류도

 

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

나는 고정 표시기의 고산 미러링 솔루션을 사용하고 있기 때문에 만족 을 참조 다음과 같이 솔루션 :

 

apk add gcc g++

 



이상 세 가지 문제는 설치가 확장 된 시간 레디 스 동안, Dockerfile 다음과 내가 발견 한 것입니다

 

 

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

 

게시 80 개 원래 기사 · 원 찬양 96 · 전망 360 000 +

추천

출처blog.csdn.net/Alen_xiaoxin/article/details/104877279