CentOS8標準のPHP7.2ではなくRemi’s RPM repositoryを利用しPHP7.4をインストールする。
環境
CentOS8 での Apache は、MPM (Multi Processing Module)のデフォルト値が “event” になり、古いバージョンのApacheで利用される mod_php は利用できない。その代わりに php-fpm (FastCGI Process Manager)が利用される。
リポジトリの追加
さくらのVPSは初めからEPELリポジトリが使用可能になっているので、remiリポジトリを追加する。
# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-8.rpm
PHPのインストール
php本体だけでなく、phpの拡張パッケージも合わせて導入する。
# dnf install -y php php-devel php-mbstring php-mysqlnd php-pdo php-gd
最後に Complete! と表示されれば完了。
インストールされたパッケージの確認
$ dnf list installed | grep php
バージョン確認
$ php -v PHP 7.4.8 (cli) (built: Jul 9 2020 08:57:23) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.8, Copyright (c), by Zend Technologies
php-fpm 起動と自動起動
# systemctl start php-fpm
# systemctl enable php-fpm
CentOS8では PHP-FPM が使われる。以下引用
PHP はデフォルトで FastCGI Process Manager (FPM) を使用します (スレッド化された httpd で安全に使用できます)。
PHP スクリプトのエラーと警告のログは、/var/log/httpd/error.log ではなく /var/log/php- fpm/www-error.log ファイルに記録されます。
PHP スクリプトを実行するユーザーが、FPM プール設定 (/etc/php-fpm/d/www.conf ファイ ル、apache ユーザーがデフォルト) に設定されるようになりました。
設定を変更した場合、または新しい拡張機能をインストールした場合は、php-fpm サービスを 再起動する必要があります。
15.1.3. PHP への主な変更点
Apacheの再起動
# systemctl restart httpd
php.iniを編集
ファイルをバックアップしてから、
# cp -p /etc/php.ini /etc/php.ini.backup
編集する。
# vi /etc/php.ini
アップロードサイズの変更
WordPressで大きな画像ファイルをアップロードするときにエラーにならないよう、「post_max_size」と「upload_max_filesize」の値を大きくしておく。
; post_max_size = 8M post_max_size = 128M
; upload_max_filesize = 2M upload_max_filesize = 128M
タイムゾーンの設定
;date.timezone = date.timezone = "Asia/Tokyo"
php.ini設定ファイルの反映
変更を反映するためにphp-fpmサービスを再起動する。
# systemctl restart php-fpm
テスト用のファイル作成と確認
動作確認のためテスト用ファイルを作成し、
# vi /var/www/html/phptest.php
<?php phpinfo();
ブラウザで”https://xxx.xxx.xx.xx/phptest.php”へアクセス。(xxxはサーバーのIPアドレスかホスト名)
確認が終わったらセキュリティ上よろしくないのでphptest.phpファイルを削除する。
# rm /var/www/html/phptest.php rm: remove regular file '/var/www/html/phptest.php'? y