PHP (On Apache)

以前はApacheのmpm_preforkにmod_phpを入れれば簡単にphpが使えるようになりましたが、Apache2.4からevent-mpmに変わったことに伴い、同じ方法は使えなくなりました。
ここでは、Apache + mod_proxy_fcgi + php-fpmという組み合わせで対応します。
※mod_phpやmpm_preforkが廃止されたわけではなく、デフォルトのmpmが変わったというだけです。
※このサイトを参考にしました:https://xdeb.org/node/1613

インストール

  1. phpを指定すると、php7.0が入ります。また、Apacheのモジュールは指定しないと依存で自動的にmod_phpが入りmpmがpreforkに切り替わってしまうので、一緒にphp7.0-fpmを指定します。
    # apt install php php7.0-fpm
  2. 一部アプリケーションでエラーが出ることがあるので、/etc/php/7.0/fpm/php.iniにtimezoneを指定します。
    また、cli用の/etc/php/7.0/cli/php.iniも同様に修正します。
    [Date]
    ; Defines the default timezone used by the date functions
    ; http://php.net/date.timezone
    date.timezone = Asia/Tokyo
  3. proxy_fcgiモジュールを有効化します。
    # a2enmod proxy_fcgi
  4. モジュールの設定を変更しているので、Apacheを再起動します。
    # service apache2 restart

Apacheの設定

  1. phpを動かしたいディレクトリに対して、fcgiに飛ばすための設定を追加します。
    <Directory /xxx/php_dir/>
        Include /etc/apache2/conf-available/php7.0-fpm.conf
    </Directory>
    ただし、すでに細かいconfファイルが用意されているので、それをincludeするだけです。
  2. 指定したディレクトリにphpinfo.phpというファイルを作り、以下の3行だけ記載します。
    <?php
    phpinfo();
    ?>
  3. このファイルにブラウザからアクセスして、ずらずらとphpの情報が表示されればセットアップ完了です。
  4. phpinfo.phpを削除します。

目次へ戻る