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

cakePHP Tips

cakeでの気づいたTipsなど。 知っているといろんな部分で開発が楽になります。 Contents1 作成日と更新日の自動設定2 scaffold3 新規登録と編集画面の作成4 htmlヘルパー5 …

no image

サーバーの過負荷の発見 理論編

会社のテストサーバー(このブログが入っているサーバー)なんかが重くなってくると、再起動したりしているわけなんですが、CPUやメモリの使用率をみたり、といったシステマティックな運用はしてないです。 本来 …

no image

ファイルアップロード・ダウンロードに関するシェルスクリプト

ファイルのアップロードやダウンロードに関するシェルスクリプトなんぞを。 地味ですが、以外に登場頻度は高いかと。 Contents1 FTP1.1 ダウンロード1.2 アップロード2 SCP2.1 アッ …

no image

CentOS7の基本に関して

以前も学習しようとしましたが、CentOSの基礎について。 Contents1 デーモン2 ポートの割り当て3 systemdの役割 デーモン Linux上で動くサービスを提供をするプログラムのこと。 …

no image

Python+cgiでwebアプリを動かすまで

PythonでRESTAPI的なプログラムを作った時のメモ。 あまりCGIで実行する人がいないようで、情報がそこまでありませんでしたが、Perlでやった経験もあり、動かせました。 Contents1 …