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 协议》,转载必须注明作者和本文链接
推荐文章: