2015-11-02 25 views
6

Tôi đang cố gắng cài đặt trình điều khiển mongo php cho OS X. Tôi đã thử sau these instructions không có kết quả.Sử dụng pecl để cài đặt trình điều khiển Mongodb trên OS X El Capitan (v10.11.1)

$ which pecl ->/usr/local/Cellar/php56/5.6.13_2/bin/pecl

$ sudo pecl install mongo -> đầy đủ xây dựng kết quả here nhưng vấn đề là các lỗi:

In file included from /private/tmp/pear/install/mongo/io_stream.c:34: 
/private/tmp/pear/install/mongo/contrib/php-ssl.h:33:10: fatal error: 'openssl/evp.h' file not found 
#include <openssl/evp.h> 

Xcode công cụ dòng lệnh của tôi được cập nhật (tôi đã sử dụng $ xcode-select --install được chắc chắn rồi).

Tôi chắc chắn cách khắc phục sự cố này.

+1

Tại sao lại bỏ phiếu cho câu hỏi của tôi? Tôi đã nghiên cứu vấn đề và không thể tìm ra giải pháp cho El Capitan. – RobertJoseph

Trả lời

15

tôi quản lý để làm được việc này bằng cách cài đặt OpenSSL sử dụng Homebrew (as suggested here):

$ brew install openssl 
$ brew link openssl --force 

Sau đó

$ sudo pecl install mongodb 
+2

không hoạt động đối với tôi –

+4

Đáng chú ý 'mongo' là tên gói không dùng nữa; mọi người nên sử dụng 'mongodb'. Các liên kết brew buộc cũng hoạt động với gói mới hơn 'mongodb'. Cảm ơn! –

+0

@EzekielVictor Đã lưu ngày của tôi! – Sibidharan

1

Tôi khuyên bạn nên sử dụng http://phpbrew.github.io/phpbrew/ cho loại điều này. Nó cho phép bạn dễ dàng cài đặt bất kỳ phần mở rộng nào cho bất kỳ phiên bản php nào mà bạn yêu cầu.

Khi cài đặt phiên bản php mới, tôi thường theo dõi nhật ký trong khi biên dịch. Có thể có các phụ thuộc cần cài đặt trước. Ngoài ra, hãy chắc chắn rằng bạn đã cài đặt phiên bản homebrew cập nhật.

-1

Bạn cần phải vô hiệu hóa các cơ chế rễ Mac OSX El Capitán:

  1. Khởi động với Cmd-R
  2. Mở Terminal
  3. Loại csrutil vô hiệu hóa
  4. Khởi động lại

Trên máy Mac, bạn cần phải cài đặt Xcode, và xây dựng các liên kết tượng trưng cho openssl đi kèm với Xcode, tức là

cd /usr/include; 
sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdk/MacOSX.sdk/usr/include/openssl 
6

Làm điều này

$ cd /usr/local/include 
$ ln -s ../opt/openssl/include/openssl 
+0

Tôi đã có openssl và pkg-config và vẫn nhận được lỗi. Giải pháp này đã làm việc cho tôi –

+0

Điều này cũng phù hợp với tôi, sau khi hết tất cả các giải pháp khác có sẵn trực tuyến. – carterh062

Các vấn đề liên quan