apache環境でのPHP について
はじめに
CakePHP3の勉強をするついでに、環境構築をする際にApache環境でPHPをどのように設定をするのかをまとめてみようと思います。
今まで、特に意識することなくwebに落ちているコマンド叩いて、開発環境を構築できていましたが、何を設定するべきなのか、どのように動いているのかをdockerで環境構築するにあたりまとめようと思います。
構成
- Webサーバ
- Apache2
- 言語
- php
2つのPHP動作パターン
Apacheを動作させる方法は2パターンある
- モジュール版
- Apacheの1つの追加機能としてモジュール版がある
- Webサーバーを動かすユーザー(root権限など)で動作する
- WebサーバーのプロセスのなかでPHPを実行
- CGI版
- CGI(版のPHP)を動かす各ユーザーは、Webサーバー本体を動かすユーザーとは異なる
- Webサーバーとは別のプロセスで実行 セキュリティ的にはCGIで処理速度ではモジュールが良いという話 同一Webサーバに別プロジェクトが存在するなどの場合はCGIを選ぶべきで、そうで無い場合はモジュールを選びましょうということでしょう。 なので、レンタルサーバで開発をする訳ではないので、モジュール版で開発環境を作ります。
モジュール版PHPをインストール
DockerFile
## Packageインストール
RUN apk add --update --no-cache php7 php7-apache2
httpd.confにモジュール記述
httpd.conf
# Get information about the requests being processed by the server
## モジュール版PHP
LoadModule php7_module modules/mod_php7.so
## URLでファイル名を省略した場合の表示しようとする優先順位を設定します。
DirectoryIndex index.php index.html
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
# Uncomment the following to allow .phps files to be handled by the php source filter,
# and displayed as syntax-highlighted source code
#<FilesMatch "\.phps$">
# SetHandler application/x-httpd-php-source
#</FilesMatch>
これでPHPをApacheのプロセスの中で実行できるようになります。
※phpをサーバにインストールすることで勝手に記述されたファイルができていた。
Author And Source
この問題について(apache環境でのPHP について), 我々は、より多くの情報をここで見つけました https://qiita.com/bellcrud/items/c79604399b8609c4e19a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .