简体   繁体   English

用php5.6安装debian stretch

[英]Install debian stretch with php5.6

We are using laravel based on php version 5.6, few days ago Debian removed jessie version (8) so we need to upgrade that to 9, but the issue is its hard to use Debian 9 without php5.6 as scripts like docker-php-ext-install does not seem to work there. 我们正在使用基于php 5.6版的laravel,几天前Debian删除了jessie版本(8)所以我们需要升级到9,但问题是它很难使用Debian 9而不用php5.6作为脚本如docker-php- ext-install似乎不适用于那里。 i attach my section of the installation in the docker-file. 我将我的安装部分附加到docker文件中。 Would appreciate if there is a solution to this 如果有解决方案,将不胜感激

I have tried to install the pdo_mysql without the docker-php-ext-install but it fails cannot locate that.. 我试图在没有docker-php-ext-install的情况下安装pdo_mysql,但它失败了找不到..

FROM debian:9.0
RUN apt-get update \
&& apt-get -y install \
    apt-transport-https apt-utils \
    lsb-release \
    ca-certificates \
    wget \
    mcrypt \
    libmcrypt-dev \
    git-core \
    unzip \
&& wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg \
&& echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list \
&& apt-get update \
&& apt-get -y install gnupg2 php5.6-cli php5.6-fpm \
&& apt-get update \
&& docker-php-ext-install \
    mbstring \
    pdo_mysql \
    mcrypt bcmath\
&& update-alternatives --install /usr/bin/php php /usr/bin/php5.6 90 \
&& update-alternatives --set php /usr/bin/php5.6

And this is the end of the build call : 这是构建调用的结束:

Reading package lists...
/bin/sh: 1: docker-php-ext-install: not found

docker-php-ext-install is a command provided by official php images. docker-php-ext-install是官方php图片提供的命令。 You will find it only on those images or images based on those. 您只能在那些图像或图像上找到它。

Official docker php images providing php 5.6 still exist on the docker hub: 提供php 5.6的官方docker php图像仍然存在于docker hub:

wget -qO- https://registry.hub.docker.com/v1/repositories/php/tags | jq '.[].name' | grep -P '^"5\.6(?!\.)'
 "5.6" "5.6-alpine" "5.6-alpine3.4" "5.6-alpine3.7" "5.6-alpine3.8" "5.6-apache" "5.6-apache-jessie" "5.6-apache-stretch" "5.6-cli" "5.6-cli-alpine" "5.6-cli-alpine3.4" "5.6-cli-alpine3.7" "5.6-cli-alpine3.8" "5.6-cli-jessie" "5.6-cli-stretch" "5.6-fpm" "5.6-fpm-alpine" "5.6-fpm-alpine3.4" "5.6-fpm-alpine3.7" "5.6-fpm-alpine3.8" "5.6-fpm-jessie" "5.6-fpm-stretch" "5.6-jessie" "5.6-stretch" "5.6-zts" "5.6-zts-alpine" "5.6-zts-alpine3.4" "5.6-zts-alpine3.7" "5.6-zts-alpine3.8" "5.6-zts-jessie" "5.6-zts-stretch" 

Furthermore, those images are built on top of debian 9: 此外,这些图像建立在debian 9之上:

docker run --rm php:5.6 cat /etc/os-release
 PRETTY_NAME="Debian GNU/Linux 9 (stretch)" NAME="Debian GNU/Linux" VERSION_ID="9" VERSION="9 (stretch)" ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" 

and provide the docker-php-ext-install command: 并提供docker-php-ext-install命令:

docker run --rm php:5.6 which docker-php-ext-install
 /usr/local/bin/docker-php-ext-install 

I suggest you use one of those official image as the base for your Dockerfile. 我建议您使用其中一个官方映像作为Dockerfile的基础。

FROM php:5.6-fpm
RUN apt-get update \
    && apt-get -y install \
        libmcrypt-dev \
        mcrypt \
    && docker-php-ext-install \
        bcmath \
        mbstring \
        mcrypt \
        pdo_mysql

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM