因为我想要 PHP 7.3 功能,所以我试图将项目从 PHP 7.2 更新到 PHP 7.3。在 docker-compose.yml 我有:php: build: ./docker/php volumes: - .:/var/www/html links: - mysql:mysql depends_on: - mysql networks: - pimcorenet我的 Dockerfile 是这样的:FROM php:7.2-fpm# install gitRUN apt-get update && \ apt-get install -y --no-install-recommends git#install some base extensionsRUN apt-get install -y \ zlib1g-dev \ zip \ libpng-dev \ exiftool \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ libicu-dev \ libpq-dev \ libxpm-dev \ libvpx-dev \ mariadb-client \ libxml2-devRUN docker-php-ext-install -j$(nproc) \ zip \ exif \ bcmath \ intl \ pcntl \ mysqli \ pdo \ gd \ pdo_mysql \ pdo_pgsql \ mbstring \ soap \ opcache \ iconv# Install ImagickRUN apt-get update && apt-get install -y \ libmagickwand-dev --no-install-recommends \ && pecl install imagick \ && docker-php-ext-enable imagick# Install ComposerRUN echo "Install Composer"RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composerRUN composer --version这到底是什么问题?是不是因为某些必需的 PHP 扩展尚未可用于 PHP 7.3 或已被替换?我该如何解决?刚换FROM php:7.2-fpm到FROM php:7.3-fpm。
1 回答

噜噜哒
TA贡献1784条经验 获得超7个赞
您无法理解容器。正因为如此,你采取了错误的方法。
您不应该尝试将 php 7.2 到容器“升级”到 7.3。
您应该首先创建一个基于 7.3 的新容器映像。
顺便说一句,我建议将其设为现有 7.2 容器的一个新的、独立的服务,即一个新的 Dockerfile,而不是仅仅更改现有的容器/Dockerfile。这将允许您同时测试两个版本,而不是“信仰的飞跃”转换。
此外,我建议直接构建 Debian 或 Ubuntu 映像,而不是通过“官方”Docker 映像。它们只是在由 Docker 制作的意义上是官方的,但在我看来它们并没有得到很好的支持。
这是我目前使用的 dockerfile:https : //github.com/Danack/example/blob/master/docker/php_fpm/Dockerfile 将7.2 切换到 7.3 应该“正常工作”。
- 1 回答
- 0 关注
- 252 浏览
添加回答
举报
0/150
提交
取消