skillup

技術ブログ

PHP サーバー・ネットワーク

phpenv5.3+php-fpm

投稿日:

レガシーなプロジェクトではいまだにPHP5.3なんかを使うケースがあったりします。

これがCentOS6だったらyumでphp5.3とかだったらいいんですが、サーバーはCentOS7だったりするとなかなか大変です。

流石にCentOS7とかだとyumで入れても5.3ははいりません。

となると選択肢としては

  • ソース自体をダウンロードしてコンパイル
  • phpenv

かと思うのですが、色々迷った末、phpenvで5.3を入れることに。

phpenv自体は入れるのはそれほど難しくなかったんですが、サーバー自体がnginx+php-fpmで動かす要件だったため、php-fpmにphpenvを読み込ませるが少々手間だったのでメモしておこうと思います。

ちょっと前にもapacheでphpenvのインストールをする機会がありまして、結構大変でしたね・・・

phpenv+php-build 複数のPHPのversionを使い分け

apacheで複数インスタンスの起動

phpenvでglobalで5.3を入れたあとですが、phpを5.3にしただけではWebからアクセスした時にはまだ読み込めていません。php-fpmに読み込ませる必要が出てきます。

php-fpmに読み込ませるためですが、phpenv内にあるphp-fpm用の設定ファイルを下記コマンドでコピーしておきましょう。

あとはphpenvのなかに入っているphp-fpmを直で実行しましょう。

一番簡単なパターンはこれでOKかと思います。

phpenvで最新版のPHPをインストールしてWebサイトで使用する

php-fpm時に下記のようなエラーが出ましたが、設置のコメントアウトを外したらなんとかいけました。曖昧な理解ですが・・・・

さくらVPS php-fpm.confの設定

簡単な場合はこれでなんとかなると思いますが、もともとyumでphpやphp-fpmを入れていると面倒かと思います。

その場合、

  • php-fpmにphpenvのシンボリックリンクを貼る
  • 起動スクリプトを書く(直起動させるなら不要です。)

などが必要です。(リンク参照)

最終的にはphpinfoでバージョンやphpのパスなどを確認しましょう。

systemd下でphpenvを使って複数バージョンのphp-fpmを動かす

 

-PHP, サーバー・ネットワーク
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ECCUBE2,3でのnginx利用

ECCUBE2,3をインストールする機会があったのでメモ。 例によってnginxの設定がめんどいですね。・・ ファイルパス ECCUBE2,ECCUBE3ともに下記パス,URLと仮定します。 [cra …

no image

SQSについて

以前、少しQueueの登録について書きましたが、今回はAWSのキューサービスであるSQSについて。 以前のリンク Queueの登録と実際の処理に関して SQSのポイントについて簡単にまとめて置きたいこ …

no image

form以外でのPOST送信(というかHTTP通信全般)

前回の記事に引き続きですが、APIを叩く側はformでデータを送るのではなく、コードの中にPOSTする処理を書きます。 選択肢としては curlコマンドを使う file_get_contentsを使う …

no image

キャッシュについて(主にmemcachedを中心に)

Webサービスのパフォーマンス向上で目に見えて効果があることの一つがDBへのアクセス回数を減らすことです。 それはSQLを発行する回数を少なくするなど、普段からのプログラムの書き方ももちろん大事なので …

no image

追跡ブランチからローカルブランチを作る方法~ (svn→gitの移行など)

SVNで運用されていたプロジェクトをgitに移行する機会があったのでその時のメモなどを。 思ってたよりは楽だったかな・・・ Contents1 準備2 実際の移行(git svn clone)3 gi …