Подтвердить что ты не робот

Make не удается установить драйвер mongo php на Centos 6

Я попробовал два разных способа установить драйвер php mongodb.

Сервер 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, такие как драйвер PHP MongoDB не смог установить облачный сервер Centos 6 - но это не показалось помогите или примените. Есть идеи? Спасибо.

4b9b3361

Ответ 1

Похоже, у вас нет заголовков, установленных для OpenSSL.

Попробуйте yum install openssl-devel (или используйте sudo, если не root), затем перекомпилируйте.

Ответ 2

Для тех, кто выполнил команду yum install openssl-devel, не решила установить PHP56 Mongo Driver в экземпляре centos, попробуйте использовать/установить эти первые

sudo yum install php-pear

sudo yum install php56-devel

sudo yum install gcc

sudo yum install openssl-devel

sudo pecl install mongodb