【问题标题】:Uncaught Error: Class 'Memcached' not found in docker container未捕获的错误:在 docker 容器中找不到类“Memcached”
【发布时间】:2017-10-19 09:11:26
【问题描述】:

我正在尝试将 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 的代码的 sn-p

<?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-compose 文件启动。但是当我请求我的应用页面时,我收到了这个错误:

未捕获的错误:在...中找不到类“Memcached”

我该如何解决这个问题?

【问题讨论】:

    标签: php docker memcached


    【解决方案1】:

    尝试添加:

    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之后

    【讨论】:

      【解决方案2】:

      您可能缺少 memcached 包。

      可以如下安装:apt-get install memcached

      【讨论】:

      • 它没有帮助。我运行脚本'apt-get install memcached'并重新启动conainer。但我仍然得到错误。
      • @R.Bogaveev 您可以检查是否为您的 php 版本以及您的 php.ini 文件中安装了 memcached 扩展
      • 我运行了脚本'php --ini'。它输出以下内容: 配置文件(php.ini) 路径:/usr/local/etc/php 加载的配置文件:(无)扫描其他 .ini 文件:/usr/local/etc/php/conf.d Additional .ini 文件解析:(无)
      • 在指定位置没有ini文件。也许我需要把它放在那里?
      • @R.Bogaveev 可能在不同的目录中?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-02
      • 2020-11-10
      • 2021-12-03
      • 2020-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多