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

yumとrpmについて

centOSのカーネルのバージョンアップで時間があるのでブログを更新。 redhat系ではソフトウェアをインストールするときにyumかrpmのコマンドを使うと思います。 私も日頃、両方使っているのです …

no image

MariaDBインストール

CentOS7からはyumでmysqlをインストールするとMariaDBがディフォルトになるようです。 せっかくなので、これを機にMariaDBを使ってみました。といってもMySQLとほとんど一緒でし …

no image

クロスドメインがらみのajax

ajaxで別ドメインに対して、プログラムを実行したい時に注意すべきことなどを。 Contents1 ログ、レスポンスヘッダをとにかく追う2 特定ドメインからの許可3 フレームワーク側での認証ロジック( …

no image

クリックジャッキング

Contents1 クリックジャッキングとは?2 被害3 対策 クリックジャッキングとは? 悪意のあるサイトの特定上の場所をクリックさせ、誤操作をさせ、意図しない機能を実行させられる可能性があります。 …

no image

dockerコンテナ間での連携(PHP+MySQL)

dockerでのコンテナ間の連携について 以前、dockerではCentOSのイメージからコンテナを作成し、その中にphp,apache,mysqlをインストールしてましたが、dockerの使い方とし …

アーカイブ