PHP7と PHP-FPMをインストールする。
PHP7をインストール
PHP7を入れるためには remiリポジトリが必要。
そしてremiリポジトリを入れるためにはepelリポジトリが必要。
epelリポジトリ
sudo yum -y install epel-release
remiリポジトリ
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm sudo rpm -ivh ./remi-release-7.rpm
remiリポジトリの PHP7.0を指定し、 PHPをインストール。
ほか、必要そうなエクステンションも一緒に。
sudo yum install --enablerepo=epel,remi-php70 php php-mcrypt php-mbstring php-fpm php-mysqlnd php-opcache php-apcu
何のエクステンションがあるかは、下記コマンドで確認できる。
yum --enablerepo=epel,remi,remi-php70 search php70
バージョンを確認。
php -v PHP 7.0.8 (cli) (built: Jun 22 2016 11:57:34) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.8, Copyright (c) 1999-2016, by Zend Technologies
OPcacheと APCの設定は個別の iniファイルに記述されている。
該当ファイルがどこにあるかは、下記コマンドで確認できる。
php -i | egrep 'apc|opcache' # 以下が表示 Additional .ini files parsed => /etc/php.d/10-opcache.ini, /etc/php.d/40-apcu.ini, /etc/php.d/50-apc.ini
PHP-FPMを起動
PHP-FPM自体の解説は下記記事がわかりやすい。
nginx と PHP-FPM の仕組みをちゃんと理解しながら PHP の実行環境を構築する
PHP-FPMを起動する。
sudo systemctl start php-fpm
PHP-FPM自動起動を有効にする。
sudo systemctl enable php-fpm
php.iniの設定
設定ファイルのバックアップを取る。
sudo cp /etc/php.ini /etc/php.ini.origin
下記のように修正。
sudo vim /etc/php.ini
# [PHP]ブロック #レスポンスヘッダにPHPのバージョンを表示させない expose_php = Off # 全てのログを出力させる error_reporting = E_ALL # ブラウザでのエラー表示させない display_errors = Off # エラーをログに残す log_errors = On # エラーログの長さを設定、念のため大きめに log_errors_max_len = 4096 # エラーログ出力先 error_log = "/var/log/php_errors.log" # 文字エンコーディング default_charset = "UTF-8" #[Date]ブロック # タイムゾーン date.timezone = "Asia/Tokyo" #[mbstring]ブロック # デフォルト言語 mbstring.language = Japanese # 内部文字エンコーディング mbstring.internal_encoding = UTF-8 # HTTP入力文字エンコーディングのデフォルト mbstring.http_input = auto # 文字エンコーディング検出順序のデフォルト mbstring.detect_order = auto
PHPアクセラレータ「OPCache」「APCu」とは?
キャッシュ機能を提供するモジュール。
OPCacheがオペコードキャッシュ、APCuがユーザキャッシュを提供するモジュールを提供する。
詳しくはこちら参照。
参考
CentOS7 + php7 + nginx + php-fpm環境にwordpressインストール
コメント