PHP 設定
- モジュール版PHP から FastCGI版PHP に切り替えて、設定します。
FastCGI 設定
##■ php-cgi のシンボリックリンクを作成
[root@localhost ~]# ln -s /usr/bin/php-cgi /usr/local/bin/php
[root@localhost ~]#
モジュール版PHP 無効化
##■ 設定ファイルをバックアップ
[root@localhost ~]# cp -a /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf.org
[root@localhost ~]#
##■ php.conf を編集して、モジュール版を無効にする
# vi /etc/httpd/conf.d/php.conf
--------------------------------------------------
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
## ↓ コメントアウト化する
#<FilesMatch \.php$>
# SetHandler application/x-httpd-php
#</FilesMatch>
--------------------------------------------------
##■ 保存して編集終了
:wq
[root@localhost ~]#
FastCGIモジュール 設定
##■ 設定ファイルをバックアップ
[root@localhost ~]# cp -a /etc/httpd/conf.d/fcgid.conf /etc/httpd/conf.d/fcgid.conf.org
[root@localhost ~]#
##■ fcgid.conf を編集する
# vi /etc/httpd/conf.d/fcgid.conf
--------------------------------------------------
##★ 追記する (FCGIサーバへのリクエストがあってから、待機をしている時間を "3600秒" に設定)
FcgidIOTimeout 3600
##★ 追記する (アイドルプロセスのタイムアウト時間を "600秒" に設定)
FcgidIdleTimeout 600
##★ 追記する (FCGIアプリケーションのタイムアウトを "600秒" に設定)
FcgidBusyTimeout 600
##★ 追記する (アイドルプロセスの寿命を "3600秒" に設定)
FcgidProcessLifeTime 3600
##★ 追記する (FcgidBusyTimeoutを監視する間隔を "120秒" に設定)
FcgidBusyScanInterval 120
##★ 追記する (FastCGIアプリケーションプロセスの最大数を "100" に設定)
FcgidMaxProcesses 100
##★ 追記する (FastCGIアプリケーションクラスにおける最大プロセス数を "10" に設定)
FcgidMaxProcessesPerClass 10
##★ 追記する (各FastCGIアプリケーションが処理する最大リクエストを "0" に設定)
FcgidMaxRequestsPerProcess 0
##★ 追記する (HTTPのリクエストの長さの上限を "1GB" に設定)
FcgidMaxRequestLen 1073741824
##★ CGI 出力バッファサイズを "0" に設定
FcgidOutputBufferSize 0
--------------------------------------------------
##■ 保存して編集終了
:wq
[root@localhost ~]#
ユーザーディレクトリ 設定
"admin" ユーザーのホームディレクトリを調整
##■ .fast-cgi-bin ディレクトリを作成する
[root@localhost ~]# mkdir /home/admin/.fast-cgi-bin
[root@localhost ~]#
##■ php.cgi 作成
[root@localhost ~]# vi /home/admin/.fast-cgi-bin/php.cgi
--------------------------------------------------
#!/bin/sh
exec /usr/local/bin/php
--------------------------------------------------
##■ 保存して編集終了
:wq
[root@localhost ~]#
##■ 所有者 変更
[root@localhost ~]# chown -R admin. /home/admin/.fast-cgi-bin
[root@localhost ~]#
##■ パーミッション 変更
[root@localhost ~]# chmod 0711 /home/admin/.fast-cgi-bin/php.cgi
[root@localhost ~]#
Apache VirtualHost 設定
- /etc/httpd/conf.d/vhost.conf に FcgidWrapper を追加する。
# vi /etc/httpd/conf.d/vhost.conf
--------------------------------------------------
<VirtualHost _default_:80>
##★ 追記する
FcgidWrapper /home/admin/.fast-cgi-bin/php.cgi .php
</VirtualHost>
--------------------------------------------------
##■ 保存して編集終了
:wq
[root@localhost ~]#
##■ httpd 再読み込み
[root@localhost ~]# systemctl reload httpd.service
[root@localhost ~]#
htscanner インストール
- ※ スクリプト実行時に.htaccessを読み込み、設定を取り込んでくれる拡張である。
##■ htscanner をインストールする
[root@localhost ~]# /usr/bin/pecl install htscanner
[root@localhost ~]#
##■ 設定ファイルを新規作成する
[root@localhost ~]# vi /etc/php.d/htscanner.ini
--------------------------------------------------
[htscanner]
; Enable htscanner extension module
extension="htscanner.so"
config_file=".htaccess"
; The fallback docroot when htscanner can't determine the current docroot default_docroot="/"
default_ttl=300
; Stop when an error occured in RINIT (no document root, cannot get path_translated,...)
stop_on_error = 0
--------------------------------------------------
##■ 保存して編集終了
:wq
[root@localhost ~]#
PHP 設定ファイル 編集
##■ 設定ファイルをバックアップ
[root@localhost ~]# cp -a /etc/php.ini /etc/php.ini.org
[root@localhost ~]#
##■ 設定ファイルを編集する
[root@localhost ~]# vi /etc/php.ini
--------------------------------------------------
short_open_tag = Off
## ↓ 変更する
short_open_tag = On
expose_php = On
## ↓ 変更する
expose_php = Off
max_execution_time = 30
## ↓ 変更する (場合に応じて変更する) (vm.lan では変更無し)
max_execution_time = 180
max_input_time = 60
## ↓ 変更する (場合に応じて変更する) (vm.lan では変更無し)
max_input_time = 360
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@localhost ~]#
##■ Apache 再起動
[root@localhost ~]# systemctl restart httpd.service
[root@localhost ~]#
PHP-FPM 起動
##■ PHP-FPM を起動する
[root@localhost ~]# systemctl start php-fpm
[root@localhost ~]#
PHP-FPM サービス 有効化
##■ PHP-FPM サービス起動を有効にする
[root@localhost ~]# systemctl enable php-fpm
ln -s '/usr/lib/systemd/system/php-fpm.service' '/etc/systemd/system/multi-user.target.wants/php-fpm.service'
[root@localhost ~]#
/etc/skel/ 設定追加
##■ .fast-cgi-bin ディレクトリを作成する
[root@localhost ~]# mkdir /etc/skel/.fast-cgi-bin
[root@localhost ~]#
##■ php.cgi 作成
[root@localhost ~]# vi /etc/skel/.fast-cgi-bin/php.cgi
--------------------------------------------------
#!/bin/sh
exec /usr/local/bin/php
--------------------------------------------------
##■ 保存して編集終了
:wq
[root@localhost ~]#
##■ パーミッション 変更
[root@localhost ~]# chmod 0711 /etc/skel/.fast-cgi-bin/php.cgi
[root@localhost ~]#
以上で、"PHP" の設定は、完了です。
[ PHP ]
0 件のコメント:
コメントを投稿