【问题标题】:Can't install Couchbase PHP client library v.1.1.1 to CentOS 5.6无法将 Couchbase PHP 客户端库 v.1.1.1 安装到 CentOS 5.6
【发布时间】:2014-08-05 16:21:50
【问题描述】:

我有两台服务器开发和生产,它们非常相似。两者都有

CentOS 5.6
PHP 5.2.17

这里是安装列表:

yum list installed | egrep 'couch|php|mem'
couchbase-server.x86_64                  1.8.0r-1                      installed
libcouchbase-devel.x86_64                2.0.1-1                       installed
libcouchbase1.x86_64                     1.0.1-1                       installed
libcouchbase2.x86_64                     2.0.1-1                       installed
libcouchbase2-core.x86_64                2.0.1-1                       installed
libcouchbase2-libev.x86_64               2.0.1-1                       installed
libmemcached.x86_64                      1.0.4-3.el5                   installed
memcached.x86_64                         1.4.10-1.el5                  installed
php.x86_64                               5.2.17-7.el5                  installed
php-cli.x86_64                           5.2.17-7.el5                  installed
php-common.x86_64                        5.2.17-7.el5                  installed
php-devel.x86_64                         5.2.17-7.el5                  installed
php-eaccelerator.x86_64                  2:0.9.6.1-1.el5               installed
php-fpm.x86_64                           5.2.17-7.el5                  installed
php-mcrypt.x86_64                        5.2.17-7.el5                  installed
php-mysql.x86_64                         5.2.17-7.el5                  installed
php-odbc.x86_64                          5.2.17-7.el5                  installed
php-pdo.x86_64                           5.2.17-7.el5                  installed
php-pear.noarch                          1:1.9.1-1.el5                 installed
php-pecl-memcache.x86_64                 3.0.6-1.el5                   installed
php-pecl-xdebug.x86_64                   2.1.2-1.el5                   installed
php-xml.x86_64                           5.2.17-7.el5                  installed

但是我在将 Couchbase PHP 客户端库 v.1.1.1 安装到生产服务器时遇到了问题。在 dev 上我安装了它并且它工作正常。但是在生产服务器上我得到了这个:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/couchbase.so' - /usr/lib64/php/modules/couchbase.so: undefined symbol: php_json_encode in Unknown on line 0

我已经遇到过这样的错误,并且知道问题可能在于加载 php 模块的优先级。 所以我在 json.ini 文件中的 json.so 之后设置加载 couchbase.so。但问题依然存在。

Couchbase 的人说要将 php 更新到 5.3 版,但我不能这样做,因为我们使用的某些软件无法正常与 php 5.3 一起使用。

有没有人有一些想法,如何解决这个问题?

【问题讨论】:

  • 我发现问题出在哪里。它在 json.so 库中。我不知道这是怎么回事,因为 libs 的版本是相似的。但是当我将这个库从开发服务器复制到生产服务器时(couchbase 库不工作),错误消失了,couchbase 库现在加载正常。

标签: php client couchbase centos5


【解决方案1】:

尝试在php.ini中显式确定json.so和couchbase.so的顺序,像这样:

extension=json.so
extension=couchbase.so

这对我有用!

【讨论】:

    【解决方案2】:

    修复了从 centalt repo 安装 php-5.2.17-24 的问题。

    cat > /etc/yum.repos.d/centalt.repo << EOF
    [CentALT]
    name=CentALT Packages for Enterprise Linux 5 - $basearch
    baseurl=http://centos.alt.ru/repository/centos/5/$basearch/
    enabled=1
    gpgcheck=0
    EOF
    
    yum install php-common
    

    【讨论】:

      猜你喜欢
      • 2015-12-31
      • 2022-01-19
      • 2016-08-07
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多