我有一个运行PHP-FPM 5.5的Docker容器,我想确保它可以访问Couchbase SDK。我有泊坞窗的这方面的工作外,并不能真正图片泊坞窗将如何干涉,但我似乎运行到这是“可能”泊坞窗相关的一个问题:Docker容器中的Couchbase PHP SDK
我泊坞窗容器中运行下的Ubuntu 14.04,包括下面的安装(安装后PHP):
# Install Couchbase C-library and PECL extension
RUN wget -O/etc/apt/sources.list.d/couchbase.list http://packages.couchbase.com/ubuntu/couchbase-ubuntu1404.list \
&& wget -O- http://packages.couchbase.com/ubuntu/couchbase.key | sudo apt-key add - \
&& apt-get update \
&& apt-get install -y --no-install-recommends pkg-config libcouchbase2-libevent libcouchbase-dev libmemcached-dev php-pear php5-dev make \
&& pecl config-set php_ini /app/conf/php.ini \
&& pecl install couchbase --alldeps \
&& pecl install memcached --alldeps \
&& { \
echo "; Couchbase PHP SDK"; \
echo "extension=/usr/lib/php5/20121212/couchbase.so"; \
} > /etc/php5/fpm/conf.d/30-couchbase.ini \
&& cp /etc/php5/fpm/conf.d/30-couchbase.ini /etc/php5/cli/conf.d \
&& { \
echo "; Memcached PHP SDK"; \
echo "extension=/usr/lib/php5/20121212/memcached.so"; \
} > /etc/php5/fpm/conf.d/30-memcached.ini \
&& cp /etc/php5/fpm/conf.d/30-memcached.ini /etc/php5/cli/conf.d
这都应当安装C-库和PECL扩展Couchbase和Memcached的支持。它在许多方面确实出现了:
php -m
不包括这些模块的安装,- 和它们的配置
phpinfo()
报告,例如:
但是,每当我尝试实例化一个Couchbase
或Memcached
类找不到该类。所以,如果我运行下面的程序:
<?php
$foo = new Couchbase();
$bar = new Memcached();
print_r($foo);
print_r($bar);
?>
它给了我下面的错误:
PHP Fatal error: Class 'Couchbase' not found in /app/test.php on line 2
UPDATE:事实证明,然而,虽然Couchbase 不工作,Memcached呢。不知道这是否有助于或伤害故障排除,但Couchbase似乎是唯一的痛点。
任何想尝试这种在码头工人可以在** lifegadget /泊坞窗的PHP找到图像:5.5 ** – ken 2014-09-30 14:34:21