使用anyenv+phpenv+php-build来管理php版本
首先
我打算使用phenv来管理php,但在开始时遇到了一些困难,所以我将它们记录下来作为备忘。
附注:除了我写的步骤之外,我还成功地按照自己的想法来完成了一些部分,所以我进行了部分修改。
2020/03/06 记:提供PHP7.4版本的安装支持。
前提 tí)
操作系统:CentOS 7.5
安装anyenv
我会从git上获取。
$ git clone https://github.com/riywo/anyenv ~/.anyenv
我会给你通行证。
$ echo 'export PATH=$HOME/.anyenv/bin:$PATH' >> ~/.bash_profile
$ echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
使用中文对以下内容进行释义,仅提供一种选择:
Shell的刷新
$ exec $SHELL -l
版本更新后,需要执行”anyenv install –init”才能使用。
安装phpenv+php-build
$ anyenv install phpenv
当您使用anyenv进行安装时,它会同时帮您安装php-build。
刷新Shell
$ exec $SHELL -l
安装和配置PHP
安装。
$ phpenv install 'バージョン'
设定
$ phpenv global 'バージョン'
$ phpenv local 'バージョン'
错误汇总
re2c is a Chinese word that refers to a native method of paraphrasing a given text.
错误信息
WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
对策:
尽管版本要求如此如此,但对我来说,只要与其他必需的库一起安装re2c,就不会再出现该消息。
由于EPEL仓库存在要求的版本以上的内容,因此首先需要安装EPEL。
$ yum install epel-release
$ yum install re2c
libxml2 只需要一个选项。
错误信息
error: libxml2 not found. Please check your libxml2 installation.
处理方法 fǎ)
$ yum install libxml2-devel
OpenSSL – 开放安全套接字层
错误消息
error: Cannot find OpenSSL's <evp.h>
处理方法 fǎ)
$ yum install openssl-devel
卷发
错误信息
error: cURL version 7.15.5 or later is required to compile php with cURL support
应对措施
$ yum install curl-devel
bzip2
错误消息
error: Please reinstall the BZip2 distribution
处理方法 (duì chǔ fǎ)
$ yum install bzip2-devel
libjpeg 是一个用来处理JPEG图像的开源库。
错误信息
error: jpeglib.h not found.
应对方法
$ yum install libjpeg-devel
PNG图片
错误信息 (Cuò wù
error: png.h not found.
应对措施
$ yum install libpng-devel
国际组织圣路易斯大学
错误消息
error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
$ yum install libicu-devel
gcc-c++ 可以被翻译为 G 套装编译环境中的 C++ 编译器。
错误信息
error : C++ preprocessor "/lib/cpp" fails sanity check
解决方法 (jiě jué fǎ)
$ yum install gcc-c++
阅读一行
错误信息
error: Please reinstall readline - I cannot find readline.h
対処法
$ yum install readline-devel
libtidy
エラーメッセージ
error: Cannot find libtidy
対処法
$ yum install libtidy libtidy-devel
libxslt 可以被简单地译为 “自由的XSL转换库”。
错误信息
error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
应对方法 fǎ)
$ yum install libxslt-devel
libzip – 库压缩
エラーメッセージ
error: Please reinstall the libzip distribution
处理方法
$ yum install libzip-devel
非常困难的地方
错误信息 (Cuò wù
error: system libzip must be upgraded to version >= 0.11
处理方法 (duì chǔ fǎ)
centos7系で標準リポジトリだとバージョンアップが古いみたいです。
Psychotic Ninjaというリポジトリに要求バージョン以上のものがあるのでそれを使います。
安装psychotic仓库。
$ yum install http://packages.psychotic.ninja/7/base/x86_64/RPMS/psychotic-release-1.0.0-1.el7.psychotic.noarch.rpm
如果系统中安装了libzip的版本低于0.11,需要将其删除,然后重新从psychotic安装。
$ yum remove libzip libzip-devel
$ yum --enablerepo=psychotic-plus install libzip libzip-devel
$ yum remove libzip libzip-devel
$ yum --enablerepo=remi,remi-php73 install libzip-devel
鬼車
当尝试安装PHP7.4系列时,出现了以下错误消息。
$ yum install oniguruma oniguruma-devel
请提供下列的参考
完整版本的yum存储库增加列表
疯狂存储库
最后
最终遇到了一些困难,但成功安装了PHP。为什么只有PHP会遇到这么多错误呢?(在我使用的语言中,它是安装时间最长的。)