laradock 中安装 Redis 扩展的正确姿势
解锁安装 redis 扩展的正确姿势#
背景:执行 ‘docker-compose up -d nginx php-fpm mysql workspace’ 时一直卡在 php-fpm 中,且提示安装 redis 扩展失败
解决:#
打开 php-fpm/Dockerfile 文件并替换安装 redis 扩展的代码块
###########################################################################
# PHP REDIS EXTENSION
###########################################################################
ARG INSTALL_PHPREDIS=false
RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
# Install Php Redis Extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
curl -L -o /tmp/reids.tar.gz "https://codeload.github.com/phpredis/phpredis/tar.gz/4.3.0"; \
else \
curl -L -o /tmp/reids.tar.gz "https://codeload.github.com/phpredis/phpredis/tar.gz/5.0.2"; \
fi \
&& cd /tmp \
&& tar -xzf reids.tar.gz \
&& docker-php-source extract \
&& mv phpredis-5.0.2 /usr/src/php/ext/phpredis \
&& ls -l /usr/src/php/ext | grep redis \
&& docker-php-ext-install phpredis \
&& php -m | grep redis \
&& rm -rf /tmp/reids.tar.gz \
;fi
原理:#
pecl 的安装方式走不通,我们就自己搞编译安装
解释:#
1.“docker-php-source extract” 用于创建 “/usr/src/php” 目录,所有 PHP 扩展源码存放于 “/usr/src/php/ext” 中
2.“docker-php-ext-install” 用于安装 “/usr/src/php/ext” 中的特定扩展,并且会自动配置 php.ini
提示:#
1、如果提示 “&&” 错误,请删除把地址包起来的双引号
2、redis 版本,可以查看 pecl 的官网找合适自己的版本
结语#
遇到问题别气馁,请相信自己能行!
思考,尝试!如果失败,那就查阅资料,再思考,再尝试!
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: