コマンドラインツール (toolsディレクトリ配下のスクリプト)

PowerCMSX直下の「tools」ディレクトリ配下にあるPHPファイルはコマンドライン上(PHP CLI)で実行するためのスクリプトです。各スクリプトの役割と実行方法を説明します。

worker.php

行う処理は、期限切れキャッシュのクリアや予約公開・予約非公開・予約差し替え、キューの実行など、PowerCMS Xの実行に必要なものです。サーバーの cron または タスクスケジューラ(Windows の場合) に定期的に実行するように設定します。推奨間隔は15分です。Webサーバーの実行権限と同じ(もしくは同じグループの)ユーザー権限で実行してください。

引数を付けることで実行する処理を絞ったり、除外することができます。指定できるオプションについては下記のページを参照してください。

rebuildFiles.php

静的ファイルをすべてパブリッシュします。すでにファイルが存在していて、内容に変更がない場合は上書きされません。Webサーバーの実行権限と同じ(もしくは同じグループの)ユーザー権限で実行してください。

指定できる引数は以下のとおりです。

  • 引数なし : すべてを対象に
  • archive : アーカイブのみを対象にする (アセットやバイナリカラムのファイルは対象外となります)
  • file : アセットやバイナリカラムのファイルのみを対象とする (上記の逆)

restoreMenu.php

環境移行などの際に URLオブジェクトを削除してから rebuildFiles.php を使ってファイルをパブリッシュした後に「メニュー」オブジェクトに関連づいた URLをリセットするために利用します。

指定できる引数は以下のとおりです。

  • --verbose : 結果を標準出力に表示します。

test.php

アプリケーションディレクトリ配下の拡張子が「.php」「.tmpl」「.json」のファイルに対してチェックを行います。

  • php ファイル : コンパイルチェックを実行します。
  • tmpl ファイル : テンプレート構文をチェックします(閉じタグの不足などを指摘してくれます)
  • jsonファイル : 妥当な書式の JSONデータかどうかをチェックします。

rebuildOptimizer.php

ポップアップウィンドウで再構築する際に、モデルごと、スコープごとに1リクエストあたりの再構築単位を自動で設定するものです。
デフォルトで有効になっていますので、追加で環境変数「performance_logging」に true を指定してください。「performance_logging_threshold」の初期値は 1.0 秒で、1秒以上再構築に時間を要したログが記録されます。最適化は夜間に worker.phpによって自動的に行われますが、手動で設定を行う時に、このスクリプトを利用します。

  • 環境変数「performance_logging」に「true」を指定する
  • ポップアップウィンドウから再構築を実行する (必要に応じて数回繰り返す)
  • log_dir (デフォルトでは PowerCMSX/log) に「performance.log」が生成されていることを確認する
cd path/to/PowerCMSX && sudo -u apache php ./tools/rebuildOptimizer.php --verbose
  • 実行後、定期的に最適化を行う必要がなければ環境変数「performance_logging」を削除し、「performance.log」を削除してください。

thumbnails_c.php

以下の環境変数の指定をインストール後に指定した時、画像の静的サムネイルを生成します。

変数名 説明 初期値
assets_c (フルパス)指定のある時、一覧画面用のサムネイルを静的画像ファイルとして生成します。 指定なし
assets_c_path 一覧画面用のサムネイルを静的画像として生成している時、管理画面上でのURLルート相対パスを指定します。 指定なし

upgrader.php

管理画面にスキーマアップグレードのアナウンスが出ている時、管理画面からではなく、コマンドラインからスキーマのアップグレードを行います。※ ver.3.02以降で利用可能になります。

指定できる引数は以下の通りです。

  • --models : 対象のモデル名をカンマ区切りで指定します。
cd path/to/PowerCMSX && php ./tools/upgrader.php --models asset,keyword

backupSQL.php

データベースをバックアップします。予め下記の環境変数の設定が必要です。

変数名 説明 初期値
mysqldump_path mysqldump コマンドのパスを指定します。 なし
backup_compress ダンプファイルの圧縮方法を指定します。指定できるのは gz または zip です。 gz
backup_dir バックアップファイルの保存先ディレクトリを指定します。 指定なし
backup_rotate cron などで定期実行する時にバックアップする世代を指定します。 1

restoreSQL.php

データベースのバックアップからデータベースを復元します。予め下記の環境変数の設定が必要です。

変数名 説明 初期値
mysql_path mysqlコマンドのパスを指定します。 なし

実行時は引数の指定の仕方に注意してください。

cd path/to/PowerCMSX && php ./tools/restoreSQL.php --file=/path/to/sqldump.sql.gz

PADO/convertBlob2File.php

db-config.php に以下のように指定することで BLOB(バイナリファイル)を外部ファイルに保存することができます。インストール以降にこの設定を行った時、すでに保存されたバイナリデータをファイルに出力する必要があり、その際に実行します。実行中は管理画面操作や worker.php の定期実行を止めてください。Webサーバーの実行権限と同じ(もしくは同じグループの)ユーザー権限で実行してください。

define( 'PADO_DB_BLOB2FILE', true );
define( 'PADO_DB_BLOBPATH', '/path/to/blob' );

PADO/convertFile2Blob.php

上記とは逆に、外部保存からバイナリカラムに保存するように途中で設定を変更した時に実行します。実行中は管理画面操作や worker.php の定期実行を止めてください。Webサーバーの実行権限と同じ(もしくは同じグループの)ユーザー権限で実行してください。

PADO/cleanupBlobs.php

PADO_DB_BLOB2FILEの設定が有効な時、削除済みレコードに対応しているファイルなどが残る可能性があり、それらのファイルを整理する時に実行します。

PADO/compressDB.php

InnoDBの圧縮テーブルの設定を行った後に実行します。以下のドキュメントを参照ください。