我有一个docker容器,我看到所有的php模块:
root@7b995118fc27:~# php -m
[PHP Modules]
Core
ctype
curl
date
dom
ereg
fileinfo
filter
ftp
hash
iconv
json
libxml
mbstring
mysqlnd
openssl
pcre
PDO
pdo_sqlite
Phar
posix
readline
Reflection
session
SimpleXML
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib
[Zend Modules]
我们可以看到该列表中没有php5-redis。 当我尝试安装它时,我收到一条消息,说它已经安装:
root@7b995118fc27:~# apt-get install php5-redis
Reading package lists... Done
Building dependency tree
Reading state information... Done
php5-redis is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
我的php版本是5.6
root@7b995118fc27:~# php -v
PHP 5.6.31 (cli) (built: Sep 15 2017 01:12:36)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
所以唯一的结论(如果我没错)是安装了php5-redis但没有启用。
这就是我在Dockerfile中的内容:
FROM php:5-apache
RUN a2enmod rewrite
RUN a2enmod expires
RUN service apache2 restart
RUN apachectl -M
RUN apt-get update
RUN apt-get install -y php5-redis
RUN apt-get install -y redis-server
RUN php -m
COPY src/ /var/www/html
EXPOSE 80
CMD ["redis-server"]
那么,如何在这种情况下启用php5-redis?
答案 0 :(得分:1)
您需要添加以下语句才能启用redis
扩展名
RUN cp /etc/php5/mods-available/redis.ini /usr/local/etc/php/conf.d && ln -s /usr/lib/php5/20131226/redis.so /usr/local/lib/php/extensions/no-debug-non-zts-20131226/redis.so