2019年5月17日金曜日

phpenvでphp-fpmを切り替える際のはまりどころ


  • 一度うまく環境作って人に説明するとき忘れてたので数年ぶりで覚書。老化だな!
  • php-envではphp-fpmなどのモジュール類もあわせて切り替えられる。(というかphp-env経由でインストールするとデフォルトで導入される)
  • /home/vagrant/versions/に切り替え対象のバージョンで呼び出されるファイルや設定ファイル、リンクなどが入っている。
  • php-fpmなどのモジュールを切り替える必要がある場合ここにファイルをリンクやら直接バイナリを置くなりで補ってるあげる必要がある
  • そもそもOSレベルでの導入済のバージョンがある場合、切り替えようフォルダだけできてなにも入ってないケースがある。この場合phpそのものの切り替えはともかくモジュールの切り替えがうまくいかないことがあった
  • この場合はversions/x.x.x/の下にbinディレクトリやsbinディレクトリを作ってシンボリックリンクを貼ってあげるとうまく切り替えてくれるようになる。php-fpmはsbin。phpizeとかphpそのものととかはbinの下にhogehoge。
  • ただ切り替え後にphp-fpmをリスタートするとかはプロセス番号がかわるとかでうまくいかないのでそこは泥臭くkillとかしてあげる必要がある
  • phpenvはどうしようもなく古いPHPのバージョンから7.2にあげたいとかいうケースでは使い方覚えた方がいいですね