ホームページ > バックエンド開発 > PHPチュートリアル > 64 ビット システムで PHP をコンパイルするときにライブラリ ファイルが見つからないことに関連する問題

64 ビット システムで PHP をコンパイルするときにライブラリ ファイルが見つからないことに関連する問題

WBOY
リリース: 2016-06-13 13:19:19
オリジナル
720 人が閲覧しました

64 ビット システムで PHP をコンパイルするとライブラリ ファイルが見つかりません

最近、64 ビット システムで PHP バージョン 5.4.5 をコンパイルすると、次のエラーが報告されました:

checking for DSA_get_default_method in -lssl... yes
checking for X509_free in -lcrypto... yes
checking for pkg-config... /usr/bin/pkg-config
configure: error: Cannot find OpenSSL's libraries
ログイン後にコピー

指定されたコンパイルパラメータ:

./configure \
--prefix=/usr/local/services/php-5.4.5 \
--with-config-file-path=/usr/local/services/php-5.4.5/etc \
--enable-fpm \
--enable-mbstring \
--enable-soap \
--enable-sockets \
--enable-zip \
--with-curl=/usr \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--with-freetype-dir=/usr \
--with-openssl=/usr
ログイン後にコピー

openssl ライブラリ ファイルが見つかりません。openssl-devel をインストールしましたが、これは奇妙です。ネットで検索すると、多くの友人が同じ問題に遭遇していることがわかりました。 --with-openssl が指定されていないとのことです。パスは解決できました。試してみるとコンパイルは成功しましたが、原因がわかりませんでした。後でいくつかの記事を調べたところ、インストールされているシステムが 64 ビットであることがわかりました。 64 ビット ユーザー ライブラリ ファイルはデフォルトで /usr/lib64 にあります。コンパイル時に --with-libdir=lib64 を指定しなかったので、コンパイル スクリプトはデフォルトで lib になりましたが、当然ながら見つかりませんでした。

コンパイルパラメータを次のように変更します:

./configure \
--prefix=/usr/local/services/php-5.4.5 \
--with-config-file-path=/usr/local/services/php-5.4.5/etc \
--enable-fpm \
--enable-mbstring \
--enable-soap \
--enable-sockets \
--enable-zip \
--with-curl=/usr \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--with-freetype-dir=/usr \
--with-openssl=/usr \
--with-libdir=lib64
ログイン後にコピー

問題は解決しました。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート