此环境下,由于dockerfile 中缺少一些必要的扩展,由于用了很久,最近想要新增一个kafka 的扩展,发现竟然没有pecl 扩展,我也是服了。经过一顿百度,全是copy 忍者。无奈只能自己尝试了。
由于 pecl 是 通过 pear 打包系统来的扩展仓库,所以我们优先找php81 的 pear 包,这里有个小技巧,一般 php 的扩展文件开头都是 php+版本号+具体扩展来命名,例如:php81-dev。本以为pear包也是这样的命名规则,尝试下来发现php.pear 是通用的,我…………,省事了,那直接上截图:
wget http://pear.php.net/go-pear.phar -o go-pear.php
php go-pear.php
apk add autoconf dpkg-dev make php81-dev php81-pear
###这里的路径换成自己的
ln -s /usr/bin/php-config81 /usr/local/bin/php-config81
ln -s /usr/bin/phpize81 /usr/local/bin/phpize81
至此 pecl (php8.0 这里可以使用 pecl8 version)就算安装成功了,是不是很简单,我们查看一下:
结束!希望可以帮到你!
再补充一点,如果在运行 pecl install 过程中报一下错误:
执行:
apk --update add gcc make g++ zlib-dev
然后在运行就可以了