はじめに
対象読者
- PowerCMS X ユーザーで、
- Ubuntu 20.04 で、
- PHP 7.x で、
- nginx 環境の人
補足
- PowerCMS X ユーザーでなかったとしても PHP 7.x → PHP 8.0 移行手順については参考になるかとは思います
この記事でやること
- PHP 8.0 を nginx で動作させて PowerCMS X における実行まで見届ける
手順
パッケージリポジトリの準備
-
apt upgrade
で PHP 8.0 がインストールされない場合には、以下の手続きをとる - もしまだ以前に
ppa:ondrej/php
を追加していなければ、以下のように追加する
apt install software-properties-common
add-apt-repository ppa:ondrej/php
インストール
PHP8.0 本体
-
apt upgrade
でインストールされていれば不要
apt install php8.0
関連する他のもの
apt install php8.0-gd php8.0-fpm php8.0-mbstring php8.0-mysql php8.0-xml php8.0-zip
path 確認
- 以下の path にファイルが存在していることを確認
/run/php/php8.0-fpm.sock
owner, group の設定
- もし nginx ユーザーを
www-data
以外のもの ( たとえばnginx
など ) にしている場合は、上記php8.0-fmp.sock
のowner
,group
をそれに準じてchown
してください。例えば以下のように
chown nginx:nginx /run/php/php8.0-fpm.sock
- また、以下の設定を書き換えてください
/etc/php/8.0/fpm/pool.d/www.conf
; 前略
user = nginx
group = nginx
; 中略
listen.owner = nginx
listen.group = nginx
; 後略
max_input_vars の設定
- PowerCMS X 公式によると
'max_input_vars'の推奨値は2000以上
とのことなので、それに合わせて書き換えます。サーバスペック等に応じて必要な値を。
/etc/php/8.0/fpm/php.ini
; 前略
max_input_vars = 2000
; 後略
PHP-FPM 再起動
systemctl restart php8.0-fpm.service
apache2 無効化
systemctl disable --now apache2
nginx
設定書き換え
- 以下のように 8.0 へ書き換える
# 前略
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
# 後略
再読込
- さいごに nginx の再読込をおこなうと、ダッシュボードが表示されるようになるはずです
nginx -s reload
確認
- 以下の php を実行したときにインストール ver. が確認できます
- いくつかのモジュール等は必須でないのでアラートが表示されていますが、必須のものだけ動いていればヨシです
https://xxxxxx.xxx/pt-check.php
おわりに
感想
- PHP 8.0 で PowerCMS X を稼働させてみましたが……管理画面内のページ遷移速度が高速すぎて笑ってしまった。これ SPA だっけ……?? となった。
- 速いは正義。