【问题标题】:make fails trying to install mongo php driver on Centos 6尝试在 Centos 6 上安装 mongo php 驱动程序失败
【发布时间】:2015-03-16 16:45:04
【问题描述】:

我尝试了两种不同的方式来安装 mongodb php 驱动程序。

服务器是 Centos 6.6(32 位),最初是 6.5 的 virtualbox 映像,(更新后)现在自称为 6.6

错误似乎从这里开始:

In file included from /var/tmp/mongo/io_stream.c:34:
/var/tmp/mongo/contrib/php-ssl.h:33:25: error: openssl/evp.h: No such file or directory
/var/tmp/mongo/contrib/php-ssl.h:34:26: error: openssl/x509.h: No such file or directory
/var/tmp/mongo/contrib/php-ssl.h:35:28: error: openssl/x509v3.h: No such file or directory
In file included from /var/tmp/mongo/io_stream.c:34:
/var/tmp/mongo/contrib/php-ssl.h:38: error: expected ‘)’ before ‘*’ token
/var/tmp/mongo/contrib/php-ssl.h:39: error: expected ‘)’ before ‘*’ token
/var/tmp/mongo/contrib/php-ssl.h:40: error: expected ‘)’ before ‘*’ token
/var/tmp/mongo/io_stream.c: In function ‘php_mongo_io_stream_connect’:
/var/tmp/mongo/io_stream.c:189: error: ‘X509’ undeclared (first use in this function)
/var/tmp/mongo/io_stream.c:189: error: (Each undeclared identifier is reported only once
/var/tmp/mongo/io_stream.c:189: error: for each function it appears in.)
/var/tmp/mongo/io_stream.c:189: error: ‘cert’ undeclared (first use in this function)
/var/tmp/mongo/io_stream.c:194: error: expected expression before ‘)’ token
make: *** [io_stream.lo] Error 1
ERROR: `make' failed

-其他注意事项:

php -v
PHP 5.6.6 (cli) (built: Feb 19 2015 10:19:59)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

mongo --version
MongoDB shell version: 2.6.8
openssl is installed 1.0.1e-30.e16_6_6.5.i686

我检查了其他(看似相关的)堆栈帖子,例如 MongoDB PHP driver can't installed Centos 6 cloud server - 但它似乎没有帮助或适用。 有任何想法吗?谢谢。

【问题讨论】:

    标签: php mongodb centos6.5


    【解决方案1】:

    您似乎没有为 OpenSSL 安装标头。

    尝试yum install openssl-devel(如果不是root,则使用sudo)然后重新编译。

    【讨论】:

    • 谢谢你成功了。我没有安装 openssl-devel。之后......我得到了这个,构建过程成功完成安装'/usr/lib/php/modules/mongo.so'你应该在php.ini中添加“extension = mongo.so”......当然换行符不要' t 出现在 cmets 中。但是,是的,它确实安装了驱动程序并将其放在正确的目录中。干杯!
    • 它没有解决我的问题,这个响应和其他响应中的所有包都已安装,知道吗?
    • 我已经安装了 cyrus-sasl-devel 并且它解决了错误。我用了这个答案:stackoverflow.com/a/26328099/559720
    【解决方案2】:

    对于任何人 yum install openssl-devel 命令都不能解决在 centos 实例中安装 PHP56 Mongo 驱动程序尝试先使用/安装这些

    sudo yum install php-pear
    
    sudo yum install php56-devel
    
    sudo yum install gcc
    
    sudo yum install openssl-devel
    
    sudo pecl install mongodb
    

    【讨论】:

      猜你喜欢
      • 2017-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-17
      • 1970-01-01
      相关资源
      最近更新 更多