在我將Mac OS從11.4更新到11.6之后,我失去了為docker構建php鏡像的能力。在更新之前,一切都很順利,但在更新之后,我似乎無法用任何額外的擴展來構建php-fpm。
因此,如果我有Docker檔案,沒有任何擴展,影像將構建
。FROMphp:7.4-fpm
運行 apt-get update && apt-get install -y
curl
wget
git
libfreetype6-dev
libjpeg62-turbo-dev
zlib1g-dev
libpng-dev
libonig-dev
libzip-dev
libmcrypt-dev
libpq-dev
CMD ["php-fpm"]
但是,如果我的docker檔案中有任何擴展,在試圖安裝第一個擴展時,構建將失敗。 因此,像這樣的docker檔案
FROMphp:7.4-fpm
運行 apt-get update && apt-get install -y
curl
wget
git
libfreetype6-dev
libjpeg62-turbo-dev
zlib1g-dev
libpng-dev
libonig-dev
libzip-dev
libmcrypt-dev
libpq-dev
RUN pecl install mcrypt-1.0.4。
RUN docker-php-ext-enable mcrypt
RUN docker-php-ext-install -j$(nproc) iconv
RUN docker-php-ext-install -j$(nproc) mbstring
RUN docker-php-ext-install -j$(nproc) mysqli
RUN docker-php-ext-install -j$(nproc) pdo_mysql
RUN docker-php-ext-install -j$(nproc) zip
RUN pecl install -o redis && docker-php-ext-enable redis
CMD ["php-fpm"]
我得到的錯誤是這樣的
=> ERROR [ 3/12] RUN pecl install mcrypt-1. 0.4 3.7s
------
> [3/12] RUN pecl install mcrypt-1.0.4。
#6 3.043 正在下載 mcrypt-1.0.4.tgz ...
#6 3.044 開始下載mcrypt-1.0.4.tgz(27,056位元組)。
#6 3.157 .........done: 27,056 bytes
#6 3.196 6個源檔案,正在構建。
#6 3.196 running: phpize
#6 3.208 配置:
#6 3.208 PHP Api 版本: 20190902
#6 3.208 Zend Module Api No: 20190902
#6 3.208 Zend Extension Api No: 320190902;/span>
#6 3.354 在/usr/bin/autom4te第272行,<GEN0>第66行,在字串eq中使用未初始化的值$type。
#6 3.354 在/usr/bin/autom4te第278行,<GEN0>第66行,在字串eq中使用未初始化的值$type。
#6 3.355 在/usr/bin/autom4te第284行,<GEN0> 第66行,在字串eq中使用未初始化的值$type。
#6 3.355 在/usr/bin/autom4te第292行,<GEN0> 第66行,在連接(.)或字串中使用未初始化的值$type。
#6 3.355 autom4te: /usr/share/autoconf/autom4te.cfg:66: 未知指令:。
#6 3.718 ERROR: `phpize' failed。
------
執行器運行[/bin/sh -c pecl install mcrypt-1.0.4]失敗。exit代碼。1
根據我試圖安裝的擴展,錯誤會有一點不同
=> ERROR [3/8] RUN docker-php-ext-install -j$(nproc) iconv 4。 2s
------
> [3/8] RUN docker-php-ext-install -j$(nproc)iconv:
#6 3.155 Configuring for:
#6 3.155 PHP Api Version: 20190902
#6 3.155 Zend Module Api No: 20190902
#6 3.155 Zend Extension Api No: 320190902
#6 3.769 不能匯出符號。US_GLOBAL at /usr/share/autoconf/Autom4te/FileUtils.pm line 42.
#6 3.769 BEGIN failed--compilation aborted at /usr/share/autoconf/Autom4te/FileUtils.pm line 42.。
#6 3.769 在/usr/bin/autom4te第40行require中編譯失敗。
#6 3.769 BEGIN failed--compilation aborted at /usr/bin/autom4te line 40.
#6 3.772 autoheader: '/usr/bin/autom4te' failed with exit status: 255
------
執行器運行[/bin/sh -c docker-php-ext-install -j$(nproc) iconv]失敗。exit代碼。1
但是,我仍然無法找到任何關于這些錯誤的資訊。
我試著重新安裝了開發者工具和brew,但仍然無法建立一個帶有任何擴展的php鏡像。
uj5u.com熱心網友回復:
我花了4天時間,瘋狂地搜索,完全卸載了我的系統很多次,包括安裝一個測驗版的mac os 10.12,但是......
......由于一些絕對奇怪的原因,鏡像不能用FROM php:7.4-fpm構建(盡管它之前已經成功構建),但可以用Dockerfile中的FROM php:7.4.0-fpm構建。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/326081.html
標籤:
