gpt4 book ai didi

php - 如何在 OS X 上使用 OpenSSL 1.0.1 编译 PHP 5.5.19

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:41:19 24 4
gpt4 key购买 nike

我已经将 OpenSSL 1.0.1j 安装到 /usr/local/ssl,现在我正在尝试使用此版本的 OpenSSL 编译 PHP 5.5.19。这是我的配置过程...

export CFLAGS="-arch x86_64"
export CXXFLAGS="-arch x86_64"
export LDFLAGS="-L/usr/local/ssl/lib"
export CPPFLAGS="-I/usr/local/ssl/include"
./configure \
--prefix=/usr/local/php5 \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/etc \
--with-config-file-path=/etc \
--with-zlib \
--with-zlib-dir=/usr \
--with-apxs2=/usr/sbin/apxs \
--with-openssl=/usr/local/ssl \
--without-iconv \
--enable-cli \
--enable-exif \
--enable-ftp \
--enable-mbstring \
--enable-mbregex \
--enable-sockets \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-gd \
--with-jpeg-dir=/usr/local/lib \
--with-png-dir=/usr/X11R6 \
--with-freetype-dir=/usr/X11R6 \
--with-xpm-dir=/usr/X11R6 \
--with-mcrypt \
--with-curl

配置过程似乎工作正常,但是当我运行 make 时,我得到这个:

Undefined symbols for architecture x86_64:
"_PKCS5_PBKDF2_HMAC", referenced from:
_zif_openssl_pbkdf2 in openssl.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [libs/libphp5.bundle] Error 1

如果我运行相同的配置选项,但将 openssl 指向系统版本/usr

...
--with-openssl=/usr
...

然后 make 运行没有问题,php 安装正常,但使用的是旧版本的 OpenSSL。我怎样才能让它使用我的新版本 OpenSSL?

最佳答案

Makefile 有一行带有 EXTRA_LIBS,类似于:

EXTRA_LIBS = -lresolv -lmcrypt -lltdl -liconv-lm -lxml2 -lcurl  -lssl -lcrypto

删除所有出现的 -lssl-lcrypto 并添加到 libssl.dyliblibcrypto.dylib< 的完整路径

EXTRA_LIBS = -lresolv -lmcrypt /usr/local/ssl/lib/libssl.dylib /usr/local/ssl/lib/libcrypto.dylib -lltdl -liconv-lm -lxml2 -lcurl

关于php - 如何在 OS X 上使用 OpenSSL 1.0.1 编译 PHP 5.5.19,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27095616/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com