================
大前提 (記事アップ後追記)
ごめんしてつかぁさい。
Ubuntu に phpenv を入れて複数バージョンのPHP管理しようとした - Qiita
に私が知りたかったことが書かれていました。
上記を見れば下記を見る必要はございませぬ。
はい。
ちなみに元の環境に戻す方法
探しても見つからなくて結局、以下の方法で OK だったみたい。
rm -rf ~/.phpenv
して、
~/.bashrc
または ~/.bash_profile
から、
当該 phpenv 関係の2行を削除して環境を再読込する。
では、以下、読まなくても良い元の文章。
前提
Laravel4 をローカルの開発環境から Ubuntu14.04.1 LTS で動いてる本番サーバーにアップ。
Laravel4 に登録してある artisan 自作コマンドを動かそうとしたらエラーが出て動かない。
mcrypt などは有効にしてある。
ローカル環境と本番環境の違い…? → PHP のバージョンが違った。
- ローカル: PHP 5.4.30
- 本番: PHP 5.5.9
それで、とりあえず PHP のバージョンを揃えて動作を確かめて、問題の切り分けを行おうと思った。
phpenv というツールで複数の PHP バージョンの管理が可能と聞いたので、それを試そうと思った。
(phpenv 自体のインストール工程については後述の 参考 セクションで当該リンク先を参照すること。)
やったこと
- どこかのページを見てシンボリックリンクの処理をした。
- 必要そうなパッケージをインストールした。
$ ln -s ~/lib ~/lib64;
$ apt-get install -y libxml2 libxml2-dev re2c \
libssl-dev libsslcommon2-dev bison build-essential \
apache2-prefork-dev libcurl4-openssl-dev \
libmcrypt-dev libreadline-dev libxslt-dev \
libjpeg8 libjpeg8-dev \
libpng12-dev zlib1g-dev \
libtidy-dev;
$ phpenv rehash;
これで、 phpenv install 5.4.30
するとビルドが通った。
PHP 5.4.30 への切り替えも通った。
$ phpenv global 5.4.30
$ php -v
PHP 5.4.30 (cli) (built: Dec 7 2014 02:54:22)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans
出てたエラー
連結すると下記のような形。本当はエラーが2行ずつぐらいのステップで試行錯誤してた。
-----------------------------------------
configure: WARNING: bison versions supported for regeneration of the Zend/PHP parsers: 1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3 2.5 2.5.1 2.6 2.6.1 2.6.2 2.6.4 (found: none).
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: error: Cannot find OpenSSL's libraries
configure: error: jpeglib.h not found.
configure: error: png.h not found.
configure: error: Cannot find libtidy
-----------------------------------------
参考
phpenv のインストールについては、
phpenvの導入して複数バージョンのPHPを管理する - Qiita
を参照した。
他、
も参考にした。
この場を借りて感謝いたしまします。
どうでもいいこと
これでローカルと本番の PHP のバージョンはめでたく揃った。
ただ、 Laravel4 の artisan 自作コマンドエラーは解決しなかった…(凹)
他の問題のようだ。がんばろうニッポン。
追記 2014/12/15
アッパーキャメルケースで指定するクラス名の途中で大文字になるべき文字が小文字になってた…。なんでローカルだと動いたんだろ…。キャッシュかな。キャッシュはさんざんクリアしたんだが…。いや、 プログラムは書いたとおりに動く しオレが悪いんだろう。
アベノミクス解散と言われた総選挙も決着着いたし、がんばれニッポン (オレモナー)