魔法使いの卵

WEBエンジニアの卵の成長記録

Nginxでphpを動かす環境@phpenv

環境

  • vagrant
  • virtualbox
  • CentOS7

注意

  • phpenvのglobalでは検証していません(使う予定がない為)
  • 全てphpenvのlocalの話になります
  • 今回用意したphpは作成時最新だった7.0.0RC5になります
  • vagrantを使っている場合はhostの変更は以下プラグインがおすすめです

raichel.hatenablog.com

phpのインストール手順

raichel.hatenablog.com

Nginxのインストール手順

raichel.hatenablog.com

確認用のサンプルファイルを作成しておく

  • vim /vagrant/7.0.0RC5/phpinfo.php
<?php
    echo phpinfo();

実際に設定を行っていく

  • 対象のversions配下に以下があることを確認
ls ~/.phpenv/versions/7.0.0RC5/etc/php-fpm.d

www.conf.defaultがあった場合

  • 実行するconfファイルを作成する
cp ~/.phpenv/versions/7.0.0RC5/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/7.0.0RC5/etc/php-fpm.d/www.conf

www.confの設定を書き換える

$ sed -i "s|user = nobody|user = nginx|g" ~/.phpenv/versions/7.0.0RC5/etc/php-fpm.d/www.conf
$ sed -i "s|group = nobody|group = nginx|g" ~/.phpenv/versions/7.0.0RC5/etc/php-fpm.d/www.conf

php-fpm.confを作成する

cp ~/.phpenv/versions/7.0.0RC5/etc/php-fpm.conf.default ~/.phpenv/versions/7.0.0RC5/etc/php-fpm.conf

Nginxの設定ファイルのバックアップを取る

cd /etc/nginx/conf.d/
sudo cp default.conf default.conf.org

Nginxの設定ファイルを書く

  • sudo vim /etc/nginx/conf.d/default.conf
server {
    listen       80;
    server_name  vagrant.dev;
    root   /vagrant/7.0.0RC5;

    location / {
        index  index.html index.htm index.php;
    }

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /vagrant/7.0.0RC5$fastcgi_script_name;
        include        fastcgi_params;
    }
}

php-fpmを実行する

cd /vagrant/7.0.0RC5
php-fpm

確認

  • 今回設定しているバーチャルホストに接続してみて表示されたらおk

思ったこと

  • 色々深く考えすぎてハマってたけど実際はすごいシンプルにできた
  • 必要に応じてphpのversionを切り替えて確認することができそう
  • とりあえず、環境的にやってみたいことはこれで一通り終わった
  • 今後はH2Overも作ってみてたい
  • 久しぶりに環境構築した
  • 最近phpenv周りばっか触ってる気がする