mac 編譯安裝php-mongo 擴充套件時報evp.h檔案找不到的解決方案
我在編譯mongo擴充套件的時候 遇到了這個問題:
In file included from /usr/local/mongo-php-driver-legacy/io_stream.c:34:
./contrib/php-ssl.h:33:10: fatal error: `openssl/evp.h` file not found
#include <openssl/evp.h>
問題分析:就是 openssl/evp.h 這個檔案找不到.
解決思路:找一個evp.h檔案放過去.
在本地找一下看有沒有這個檔案:
find / -name evp.h
得到下面的結果:
/opt/vagrant/embedded/include/openssl/evp.h
/usr/local/openssl/include/openssl/evp.h
/usr/src/openssl/include/openssl/evp.h
於是拷貝一個過去:
cp -r /usr/local/openssl/include/openssl /usr/local/mongo-php-driver-legacy/contrib/
再執行 make
顯示:
.......
Build complete. Don`t forget to run `make test`.
問題解決。
說明:
-
如果你本地沒有找到 evp.h,你需要把系統自帶的opensssl刪除(
rm -rf /usr/bin/openssl
), 然後重新裝一個最新的openssl,然後將openssl/evp.h 拷貝一份過去