mabulog

このブログは、mabuの平凡な日常を淡々と描く物です。 過度な期待はしないでください。 あと、部屋は明るくして、 モニターから3メートルは離れて見やがってください。

Installed PHP with phpenv

更新履歴 Update history

  • 2013/09/02:anyenvに移行しました。

背景 Background

今週末は英語の勉強をする事に決めたので、
気晴らしにPHP環境を構築します。

目標 Goal

  • phpenvをインストールする
  • rbenvとphpenvを共存させる

環境 Environment

手順 Operation

rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm は現在の最新をインストールしました。

$ sudo yum -y install bison libxml2 libxml2-devel \
    libcurl-devel libjpeg-turbo-devel libpng-devel \
    readline-devel libtidy-devel libxslt-devel
$ cd /usr/local/src
$ sudo wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
$ sudo rpm -Uvh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
$ sudo vi /etc/yum.repos.d/rpmforge.repo
[rpmforge]
....
#enabled = 1
enabled = 0

$ sudo yum -y --enablerepo=rpmforge install re2c \
    libmcrypt-devel
$ cd
$ git clone git://github.com/CHH/phpenv.git .phpenv
$ UPDATE=yes sh .phpenv/bin/phpenv-install.sh
$ mkdir -p .phpenv/plugins
$ git clone git://github.com/CHH/php-build.git .phpenv/plugins/php-build
$ cd .phpenv/plugins/php-build
$ sudo ./install.sh
$ cd
$ ln -s $HOME/.rbenv/libexec/ .phpenv/libexec
$ vi .bash_profile
export PATH=$PATH:$HOME/bin:$HOME/.rbenv/bin:$HOME/.phpenv/bin
eval "$(rbenv init -)"
eval "$(phpenv init -)"

$ source .bash_profile
$ phpenv --version
rbenv 0.4.0
$  env |grep PATH
PATH=..../.rbenv/bin:/home/mabulog/.phpenv/bin
$ phpenv install -l
....
5.5.2
5.5.3
....

$ php-build 5.5.3 $HOME/.phpenv/versions/5.5.3
$ phpenv rehash
$ phpenv global 5.5.3
$ php --version
PHP 5.5.3 (cli) (built: Aug 24 2013 00:23:39) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
$ which php
~/.phpenv/shims/php
$ sudo php --version
sudo: php: コマンドが見つかりません

最新のphpenv取得 New phpenv version get

$ cd
$ cd .phpenv
$ git pull
$ cd .phpenv/plugins/php-build
$ git pull

エラー Error

try&error数が多く、記載断念。

感想

PHPのconfigureエラーの多さに改めて、挫折しそうになりました。
わかっていました。re2cなど足りていない事は4年前くらいから。
あと、rbenvを基盤にしているため、ところどころ制御が複雑になっています。
今回はRubyとの共存の形でインストールしましたが、
phpenv単体の場合にはまた違ったインストールフローになると思われます。

今後 To be continue.

Rubyもそうですが、この記事の問題点としてWebサーバとの連携が抜けている為、
対処する必要があります。
また、ryurockさんの記事にある追加したパッケージよりも遥かに少なく、
私としてもこの量は少ないと思うので、別途調査します。
インストールログにもワーニングが30行程出ていたので、
対処しないとです。
インフラ屋さんじゃないので、ココら辺疎かなのはご愛好です。

参考サイト Reference