Ich versuche laden ein Docker Bild auf Alpine Linux basiert zu erstellen, die PHP 7.1 (apk add php7=7.1.9-r0
) mit einigen installierten Module laufen (memcached
, mongodb
, oauth
, openssl
und redis
) .PHP7 nicht Memcached und redis auf Alpine Docker Container
installiere ich die Module durch PECL wie folgt aus:
RUN yes | pecl install \
igbinary \
redis-3.1.4 \
oauth-2.0.2 \
memcached-3.0.4 \
mongodb-1.3.3
Dann wird jeder von ihnen zu php.ini
hinzuzufügen.
RUN for EXT in \
igbinary \
memcached \
mongodb \
oauth \
openssl \
redis; \
do \
echo "extension=${EXT}.so" >> /etc/php7/php.ini; \
done
Die meisten Module installieren richtig, aber memcached
und redis
wollen nicht zusammen spielen:
# 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
ich auch von der Quelle versucht haben:
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
Das bin ich jedoch gibt das gleiche Ergebnis. Ich habe ein wenig gesucht und anscheinend gibt es ein ähnliches Problem von glibc
auf Alpine (example thread), aber ich bin nicht ganz sicher, dass dies das gleiche Problem ist, da die Fehlerausgabe ein bisschen verwirrend ist.
Gibt es irgendetwas, das ich übersehen habe, wie diese Module installiert werden sollten, um mit PHP 7.1 auf Alpine Linux zu funktionieren?
Bitte post complete Dockerfile, das Sie –