【问题标题】:How to activate GRPC PHP extension via Dockerfile?如何通过 Dockerfile 激活 GRPC PHP 扩展?
【发布时间】:2019-08-27 15:28:38
【问题描述】:

我有这个 Dockerfile。当我尝试运行它时,在 Composer Update 行中它返回一个错误,即未安装扩展。

那是因为 php.ini 上没有激活 GRPC

我的问题是,如何通过终端激活它?

FROM php:7.2-apache
WORKDIR /var/www/html
COPY . ./
RUN apt-get update && apt-get install -y -q nodejs npm curl unzip git rake ruby-ronn zlib1g-dev libpng-dev && apt-get clean
RUN apt-get install php7.2=dev php-pear phpunit
RUN curl -sS https://getcomposer.org/installer | php
RUN mv composer.phar /usr/local/bin/composer
RUN pecl install grpc
RUN docker-php-ext-install mbstring
RUN docker-php-ext-install zip
RUN docker-php-ext-install gd
RUN npm install
RUN npm install -g gulp-cli
RUN composer update
RUN gulp --env=production
EXPOSE 80 443

【问题讨论】:

    标签: docker dockerfile grpc


    【解决方案1】:

    你忘记激活grcp扩展了,你可以使用#install protoc下的代码激活,你会得到RUN php -r "echo extension_loaded('grpc') ? 'yes' : 'no';"的消息是否激活 我认为这种方式更好更简洁:

    FROM php:7-apache
    
    RUN apt-get update && apt-get install -y -q git rake ruby-ronn zlib1g-dev && apt-get clean
    # install composer
    RUN cd /usr/local/bin && curl -sS https://getcomposer.org/installer | php
    RUN cd /usr/local/bin && mv composer.phar composer
    RUN pecl install grpc
    #install protoc
    RUN mkdir -p /tmp/protoc && \
        curl -L https://github.com/google/protobuf/releases/download/v3.2.0/protoc-3.2.0-linux-x86_64.zip > /tmp/protoc/protoc.zip && \
        cd /tmp/protoc && \
        unzip protoc.zip && \
        cp /tmp/protoc/bin/protoc /usr/local/bin && \
        cd /tmp && \
        rm -r /tmp/protoc && \
        docker-php-ext-enable grpc
    
    RUN php -r "echo extension_loaded('grpc') ? 'yes' : 'no';"
    WORKDIR /app
    COPY . /app
    RUN composer install
    RUN npm install 
    RUN npm install -g gulp-cli
    RUN gulp --env=production
    EXPOSE 8181
    

    【讨论】:

    • 最好为您的代码添加一些解释
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 2021-06-28
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    相关资源
    最近更新 更多