php

PHP のバージョンを切り替えます。また、サービスの再起動を行います。

Security EditionではNGINXでリバースプロキスを行い、Webサーバとアプリケーションを異なる複数のNGINXで動作させるnginxリバースプロキシ + 運用php + 検証phpに切り替えます。また、サービスの再起動を行います。
Webサーバの違いについてはKUSANAGI Security EditionのWebサーバ構成を参照してください。
運用nginxと検証nginxについてはproxyコマンドを参照してください。

Security Editionでは運用php、検証phpのそれぞれで異なるPHPのバージョンを指定できます。
検証phpで検証期間が経過するまでに重大なエラー1が検知されなかった場合、自動的に運用phpのPHPのバージョンを、検証phpのPHPのバージョンにアップグレードします。
また、検証phpで検証期間中に重大なエラーが検知された場合、自動的に検証phpを停止して、元のPHPのバージョンの運用phpの構成に切り替えます。

使用例

kusanagi php --use php83
kusanagi php
Security Editionの場合
kusanagi php --use php83 --staging php85
Security Editionの場合
kusanagi php --nostaging

オプション

(オプション指定なし)

PHPの設定を最適化します。
KUSANAGIのセットアップ後にインスタンスの変更等行った場合に実行します。
既に php-fpm を起動しているときは、php-fpm を再起動します。

使用するPHPのバージョン

[--use {installed | php85 | php84 | php83 | php82 | php74}]	
廃止オプション
--php81 (9.8.5 および 10.3.5で廃止)
--use php80 (9.6.8 および Security Editionで廃止)
--use php74 (Security Editionで廃止)
--use php73 (9.1.13で廃止)

デフォルト : installed

使用する PHP のバージョンを指定します。それぞれ指定したときは以下のPHPのバージョンを起動します。
--use、--reload、--test、--status、--showpath は同時に指定できません。

  • --use installed : 現在インストールされているphp
  • --use php85 : PHP 8.5
  • --use php84 : PHP 8.4
  • --use php83 : PHP 8.3
  • --use php82 : PHP 8.2
  • --use php81 (9.8.5 および 10.3.5で廃止) : PHP 8.1
  • --use php80 (9.6.8 および Security Editionで廃止) : PHP 8.0
  • --use php74 (Security Editionで廃止) : PHP 7.4
  • --use php73 (9.1.13で廃止) : PHP 7.3

検証に使用するPHP (Security Editionの場合)

[--staging {php85 | php84 | php83 | php82 | latest} | --nostaging | --no-staging]

デフォルト : 指定なし (検証phpを変更しない)

検証に使用する PHP のバージョンを指定します。それぞれ指定したときは以下のPHPのバージョンを起動します。
--nostaging もしくは --no-staging を指定すると、検証phpを停止します。
--statging、--nostaging、--no-stagingのいずれの指定もない場合は、検証phpに変更を行いません。既に検証phpが起動していればそのPHPのバージョンで起動したままとなり、検証phpが停止していれば停止したままとなります。
--statging、--nostaging、--no-stagingは、--reload、--test、--status と同時に指定できません。
--statging、--nostaging、--no-stagingは同時に指定できません。

検証期間 (Security Editionの場合)

[--staging-days 検証日数]

デフォルト : 7日

検証phpによる検証期間を日数で指定します。
--stagingと共に指定する場合にのみ効果があります。

設定の再読み込み

[--reload]

既存のセッションを切断することなく設定を再読込します。
--use、--reload、--test、--status、--showpath は同時に指定できません。

設定ファイルのチェック

[--test]

設定ファイルのチェックのみを行います。
--use、--reload、--test、--status、--showpath は同時に指定できません。

ステータスの表示

[--stauts]

php-fpm のステータスを表示します。
--use、--reload、--test、--status、--showpath は同時に指定できません。

php コマンドのフルパスを表示

[--showpath]

php コマンドのフルパスを表示します。
--use、--reload、--test、--status、--showpath は同時に指定できません。

実行例

# kusanagi php
php completed.

参考コラム

kusanagi phpでPHPを自由自在に操作する - KUSANAGI Tech Column

  1. PHP Fatal errorが発生する場合に重大なエラーと見なします。 ↩︎