LoginSignup
2
0

More than 3 years have passed since last update.

PowerCMSX+Ubuntu20.04+nginx環境におけるPHP7→8移行

Posted at

はじめに

対象読者

  • 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.sockowner, 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

image.png

おわりに

感想

  • PHP 8.0 で PowerCMS X を稼働させてみましたが……管理画面内のページ遷移速度が高速すぎて笑ってしまった。これ SPA だっけ……?? となった。
  • 速いは正義。

関連記事

参考記事

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0