php redis 内存溢出,php - PHP7无法在Alpine Docker容器上加载memcached和Redis - 堆栈内存溢出...

我正在尝试创建一个基于Alpine Linux的Docker映像,它将运行PHP 7.1( apk add php7=7.1.9-r0 ),并安装了一些模块( memcached , mongodb , oauth , openssl和redis )。

我通过PECL这样安装模块:

RUN yes | pecl install \

igbinary \

redis-3.1.4 \

oauth-2.0.2 \

memcached-3.0.4 \

mongodb-1.3.3

然后将它们每个添加到php.ini 。

RUN for EXT in \

igbinary \

memcached \

mongodb \

oauth \

openssl \

redis; \

do \

echo "extension=${EXT}.so" >> /etc/php7/php.ini; \

done

大多数模块都可以正确安装,但是memcached和redis不想一起玩:

# php -v

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php7/modules/memcached.so' - Error relocating /usr/lib/php7/modules/memcached.so: php_session_create_id: symbol not found in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php7/modules/redis.so' - Error relocating /usr/lib/php7/modules/redis.so: php_session_register_module: symbol not found in Unknown on line 0

PHP Warning: Module 'openssl' already loaded in Unknown on line 0

PHP Warning: Cannot load module 'mongodb' because required module 'json' is not loaded in Unknown on line 0

PHP 7.1.9 (cli) (built: Oct 2 2017 20:51:54) ( NTS )

Copyright (c) 1997-2017 The PHP Group

Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

我也从源头尝试过:

RUN git clone https://github.com/php-memcached-dev/php-memcached

RUN cd php-memcached \

&& git checkout php7 \

&& git pull \

&& /usr/bin/phpize \

&& ./configure --with-php-config=/usr/bin/php-config \

&& make \

&& make install

但是,这给了我相同的结果。 我已经进行了一些搜索,显然在Alpine上可能存在glibc一些相关问题( 示例线程 ),但是我不确定这是同一个问题,因为错误输出会有些混乱。

关于在Alpine Linux上如何安装这些模块以与PHP 7.1配合使用,我有什么要注意的地方吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值