未捕获错误:在Docker容器中找不到“Memcached”类

我正在尝试将php7 slim应用程序部署到docker中。 这是我的Dockerfile的样子:

FROM php:7.1.2-apache RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" && \ php composer-setup.php && \ php -r "unlink('composer-setup.php');" && \ mv composer.phar /usr/local/bin/composer ADD sourcecode /var/www/html RUN composer install RUN sed -i 's/DocumentRoot.*$/DocumentRoot \/var\/www\/html\/src/' /etc/apache2/sites-enabled/000-default.conf 

这是Memcached初始化的代码片段

 <?php global $config; $cache_settings = $config['settings']['memcached']; $memcached = new Memcached; $memcached->addServer($cache_settings['host'], $cache_settings['port']) or die ("CANNOT connect to memcached"); 

我也有Memcached和Mysql容器正在运行。 所有工作人员正在通过docker文件启动。 但是当我要求我的应用程序的页面,我得到这个错误:

未捕获的错误:类'Memcached'未find…

我该如何解决这个问题?

尝试添加:

RUN apt-get update && apt-get install -y libz-dev libmemcached-dev && rm -r /var/lib/apt/lists/* RUN pecl install memcached RUN echo extension=memcached.so >> /usr/local/etc/php/conf.d/memcached.ini

FROM php:7.1.2-apache

您可能会遗漏memcached软件包。

你可以按如下方式安装它:apt-get install memcached