このWebサイト ひつじ帳 は、管理者がWEB関連の技術をまとめた備忘録サイトです。 Linux,CentOS,PHP,MySQL,Blogger,JavaScript,CSS について記録しています。

CentOS-7/PHP-7.2/設定(FastCGI・suEXEC対応)

CentOS-7 に、PHP-7.2(PHPのバージョン7.2)をインストールした後のPHPの設定をおこなっていきます。

PHP-7.2(PHPのバージョン7.2)をインストールしただけでも十分動作しますので、特に細かな設定が必要ない場合は、設定しなくても良いかもしれません。


それ以外は、大して細かな設定をしていません。

それでは、PHPの設定ファイル(php.ini)を編集して、PHPの設定変更をおこなっていきます。


PHP(php.ini)の設定変更

REMIのリポジトリからインストールした場合は、標準の設定ファイルは下記になります。
/etc/opt/remi/php72/php.ini

/etc/php.ini には存在しませんので、必要な場合はシンボリックリングを作成すれば良いかもしれません。
# ln -s /usr/bin/php72-cgi /usr/local/bin/php

expose_php について

自分だけが利用する場合や開発用などの場合は必要ないかもしれせんが
PHPのバージョンは隠すように設定しています。
expose_php = Off にしておかないと、ヘッダーにバージョンが入るので、バージョンが知れ渡ります。

date.timezone について

デフォルトではタイムゾーンが設定されていません。
私は日本でしか使わないので、タイムゾーンを日本時間に設定させています。

default_charset について

デフォルトの文字コードが、UTF-8になっています。
UTF-8以外が多いならば、OFFにした方が良いかもしれませんので、その場合はコメントアウトします。
;default_charset = "UTF-8"

php.ini 設定ファイル バックアップ

[root@vm ~]# cp -a /etc/opt/remi/php72/php.ini /etc/opt/remi/php72/php.ini.org
[root@vm ~]#

ここでインストールしたPHPの設定ファイルは /etc/opt/remi/php72/php.ini になります。

php.ini 編集

#----- 設定ファイルを編集する
[root@vm ~]# vi /etc/opt/remi/php72/php.ini

#--------------------------------------------------
#★ PHPのバージョンを隠します
expose_php = On
 ↓ 変更する
expose_php = Off


#★ 最大実行時間をデフォルトより長く設定します
max_execution_time = 30
 ↓ 変更する (場合に応じて変更する)
max_execution_time = 180


#★ 最大入力時間をデフォルトより長く設定します
max_input_time = 60
 ↓ 変更する (場合に応じて変更する)
max_input_time = 360


#★ デフォルトの文字コード (場合に応じて空にする)
default_charset = "UTF-8"
 ↓文字化けする場合が多いならコメントアウトで対応
;default_charset = "UTF-8"


#★ エラーレポートのレベルを変更します
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
 ↓ 変更する
error_reporting = E_ERROR | E_WARNING | E_PARSE | E_NOTICE


#★ デフォルトとではログを記録しないようにします
log_errors = On
 ↓ 変更する
log_errors = Off


#★ グローバル変数の優先順位を変更します
variables_order = "GPCS"
 ↓ 変更する
variables_order = "EGPCS"


#★ 最大アップロードのファイルサイズをデフォルトより大きく設定します
upload_max_filesize = 2M
 ↓ 変更する (場合に応じて変更する) (vm.lan では変更無し)
upload_max_filesize = 12M


#★ タイムゾーンを日本時間に設定します
;date.timezone =
 ↓ コメントアウトを外して、変更する
date.timezone = "Asia/Tokyo"


#★ セッションファイルの保存場所を設定します
;session.save_path = "/tmp"
 ↓ コメントアウトを外す
session.save_path = "/tmp"


#★ デフォルトの言語を日本にします
;mbstring.language = Japanese
 ↓ コメントアウトを外す
mbstring.language = Japanese
#--------------------------------------------------


#----- 編集内容を保存してエディタを閉じる
:wq
[root@vm ~]#

状況に応じて、変更する場合が多い設定も補足しておきます。
ケースに応じた php.ini 編集

#★ 文字コードの優先順位
;mbstring.detect_order = auto
 ↓コメントアウトを外して、優先順位を設定する
mbstring.detect_order = "UTF-8,SJIS,EUC-JP,JIS,ASCII"


#★ 内部文字コードの変換
;mbstring.encoding_translation = Off
 ↓コメントアウトを外して、変換をOffにする
mbstring.encoding_translation = Off


PHPの設定ファイルを編集したら、
モジュール版のPHPの場合は、Apacheの再起動が必要です。

ここではまだモジュール版のPHPとして動作させているので、再起動しなければPHPの設定内容が反映されません。
そのため、Apacheを再起動します。

設定内容が間違っていれば、Apacheが起動しないので、確認の意味でも再起動しておいた方が良いと思います。

FastCGIに対応させれば、Apacheの権限で動作しないので、PHPの設定変更に伴うApacheの再起動については不要になります。

Apache リロードまたは再起動

#----- httpdを再読み込みします
[root@vm ~]# systemctl reload httpd.service
[root@vm ~]#

#----- httpdの再起動でもOK
[root@vm ~]# systemctl restart httpd.service
[root@vm ~]#


CentOS-7でのPHP-7.2の設定でしたが、CentOS-7でなくても変わりはないと思います。

以上、CentOS-7でのPHP-7.2の設定でした。

FastCGIでPHPを動かす場合には、FastCGIの設定が必要になります。
下記ページに、FastCGIの設定手順を解説しています。

CentOS-7/PHP-7.2/FastCGI設定(suEXEC対応)





0 件のコメント:

人気記事

ページ

このブログを検索