CentOS7.5にanyenvとphpenvでPHP7.2を入れようとした際のエラーと対処まとめ

新しいVPSにanyenvからphpenvを入れようとしたら色々なエラーが出たのでそれぞれの対処メモを残しておきます。phpビルドの話なのでanyenvはあんまり関係ありません。

yum installするパッケージまとめ

以下の各項目で必要なパッケージのまとめです。

色々なエラー

tar (child): bzip2: exec 不能: そのようなファイルやディレクトリはありません

./buildconf: そのようなファイルやディレクトリはありません

上のbzip2を入れてphpenv installをやり直したらなんか謎にこんなエラーが出て止まるようになりました

詳細はよくわからないですがキャッシュ的な何かの問題らしく、/tmp/php-build を削除してやり直したら出なくなりました。

参考:./buildconf: No such file or directory · Issue #80 · phpenv/phpenv

configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: none, min: 204, excluded: ).

configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.

configure: error: xml2-config not found. Please check your libxml2 installation.

configure: WARNING: unrecognized options: –with-mcrypt

phpenvが7.2に無いビルドオプションを指定しているというだけで実害は無いので無視しても良さそう。
気になる場合は
.anyenv/envs/phpenv/plugins/php-build/share/php-build/default_configure_options
から–with-mcryptを削除。

configure: error: Cannot find OpenSSL’s <evp.h>

configure: error: Please reinstall the BZip2 distribution

configure: error: cURL version 7.10.5 or later is required to compile php with cURL support

configure: error: jpeglib.h not found.

configure: error: png.h not found.

configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.

configure: error: Please reinstall readline – I cannot find readline.h

configure: error: Cannot find libtidy

configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

configure: WARNING: Use of bundled libzip is deprecated and will be removed.

全文:

libzip-develを入れて前述のdefault_configure_optionsに–with-libzipを追加したところ
configure: error: system libzip must be upgraded to version >= 0.11
とCentOSリポジトリの最新なのにlibzipが古すぎると言われ、めんどくさそうなので放置しました。WARNINGだし…。

WARNINGしかない、もしくはWARNINGすら無くビルドログも空なのにBUILD ERRORになる

phpenv install -v 7.2.10 でmakeの出力を確認したところ、VPSのメモリが少ないためメモリ不足でエラーになっていました。

ファイルシステム上にスワップファイルを作成してメモリ不足を補います。とりあえず1Gのスワップファイルを作成します。
参考:How To Add Swap on CentOS 7 | DigitalOcean

確認

これでビルド通りました!

ちなみに作成したスワップファイルを削除する場合は

でとするようです。(fstabを記入した場合はそれも消す)

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする