make尝试在Centos 6上安装mongo php驱动程序失败

时间:2015-03-16 16:45:05

标签: php mongodb centos6.5

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

服务器是Centos 6.6(32位),最初是一个6.5虚拟盒映像(更新后)现在称自己为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

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

2 个答案:

答案 0 :(得分:37)

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

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

答案 1 :(得分: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