关于在Apache环境中的PHP
首先
在学习CakePHP3的同时,我打算总结一下在搭建环境时如何在Apache环境下配置PHP。以前,我只是不加意识地运行一些网上找到的命令来构建开发环境,但现在我想总结一下在使用docker来搭建环境时应该配置哪些内容以及它们是如何运作的。
构成
-
- Webサーバ
Apache2
言語
php
两种PHP操作模式
在运行Apache时有两种模式可以选择
-
- モジュール版
Apacheの1つの追加機能としてモジュール版がある
Webサーバーを動かすユーザー(root権限など)で動作する
WebサーバーのプロセスのなかでPHPを実行
CGI版
CGI(版のPHP)を動かす各ユーザーは、Webサーバー本体を動かすユーザーとは異なる
Webサーバーとは別のプロセスで実行
セキュリティ的にはCGIで処理速度ではモジュールが良いという話
同一Webサーバに別プロジェクトが存在するなどの場合はCGIを選ぶべきで、そうで無い場合はモジュールを選びましょうということでしょう。
なので、レンタルサーバで開発をする訳ではないので、モジュール版で開発環境を作ります。
安装模块化的PHP版本。
## Packageインストール
RUN apk add --update --no-cache php7 php7-apache2
将模块描述添加到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>
通过在Apache进程中安装PHP,您可以使其能够执行。备注:安装PHP到服务器后,自动创建了一个文件。
“Apache配置指南参考链接”