3

我已经安装了PHP 7(php-fpm 和 php-cli),我的应用程序在新的PHP上运行良好,但测试(phpunit)没有,因为一些扩展还没有更新。

所以我正在考虑使用/创建一些带有PHP 5.6的 docker 容器,它将取代我系统的(主机)php-cli

例如,如果我构建php56Dockerfile调用的容器,如下所示:

FROM ubuntu:15.10
RUN  apt-get -y update && apt-get install -y php5-cli
ENTRYPOINT ["php"]

并运行:

sudo docker run -it php56 -v

我从Docker容器中获取版本信息,所以 docker 的php-cli 5.6 正在工作。所以我不想把docker run命令放进去

/usr/bin/php

以便主机使用docker 容器中的 php-cli。(然后php -v会给我PHP 5.6信息而不是PHP 7.0版本信息)

这不是最好的例子,但我希望你们能理解我想要做什么。如果无法像这样解决它,请向我推荐其他解决方案。

4

1 回答 1

0

我做了一些看起来像你正在寻找的东西:https ://github.com/jclaveau/docker-php-multiversion

这将添加一个 php shell 脚本,该脚本将运行一个包含自 5.6 以来所有可用 PHP 版本的 docker 映像。

然后您可以运行php 5.6 vendor/bin/phpunitorphp 7.4 vendor/bin/phpunit等​​。

在我的 SSD 崩溃后,我将它嵌入到 Docker 映像中,在那里我丢失了所有 php.ini 配置,所以只要你安装了 Docker.io,它就可以工作

于 2019-12-02T18:47:37.680 回答