環境変数リファレンス (2021/11/02改定版)

PowerCMS Xの環境変数はクラス「Prototype」のpublicプロパティです。環境変数は config.jsonの config_settings に指定します。

{
    "label"      : "Prototype",
    "component"  : "Core",
    "author"     : "Alfasado Inc.",
    "author_link": "https://alfasado.net/",
    "config_settings": {
        "develop" : false,
        "debug" : false,
        "logging" : true,
        "set_names" : true,
        "do_conditional" : false,
        "temp_dir" : "/tmp"
    }
}

または、$app->environment_key = 'environment_value'; のように動的に指定することも可能です。

環境変数一覧(アルファベット順)

{app_dir}はアプリケーションディレクトリ、 {app_path}はWebサーバーのルートからの相対パスを指します。

変数名 説明 初期値
add_param_permalink 環境変数「allow_login」がともに有効な時、管理画面の非公開のコンテンツ且つドメインが異なる時、パーマリンクに必要な時「__mode=login」を追加します(ver.2.5以降)。 FALSE
add_perms_for_user 指定のある時、ユーザー作成権限をロールに追加できるようになります。 FALSE
add_port_to_url 80番/443番以外のポートの時に管理画面のホスト名の後ろにポート番号を追加します。 TRUE
allow_login 公開URLが異なるドメインのサイトに管理画面経由でアクセスした時、ログイン画面を表示させるかどうかを指定します。 指定なし
allow_revision_in_list 一覧画面にリビジョン作成アイコンを表示します。 指定なし
allow_revision_in_list_{model} 特定のモデルの一覧画面にリビジョン作成アイコンを表示します。 指定なし
allow_static ダイナミックパブリッシングでリクエストが pt-view.php に渡っている時、CMS管理外のファイルへのアクセスを許可します。 FALSE
always_update_login 管理画面にアクセスするたびに、ログインクッキーとログインセッションの有効期限を延長します。 TRUE
app_path httpから始まるアプリケーションのパスか、ルート相対パスを指定します。指定のない時は自動設定されます。  
asset_overwrite アセットのアップロードで同一パスのファイルを上書きするチェックボックスを表示します。 FALSE
assets_c (フルパス)指定のある時、一覧画面用のサムネイルを静的画像ファイルとして生成します。 指定なし
assets_c_path 一覧画面用のサムネイルを静的画像として生成している時、管理画面上でのURLルート相対パスを指定します。 指定なし
async_max_proc rebuild_async指定のある時、並列処理を行う最大プロセス数を指定します。 4
async_max_proc_time 非同期再構築のタイムアウト秒を指定します。 1200
async_skip rebuild_async指定のある時、その時間(秒)内に発行された同一の再構築リクエストをスキップします。 FALSE
async_usleep この環境変数は ver.2.5で廃止されました。rebuild_async指定のある時、並列処理のスタート時間をずらします(ミリ秒)。 20000
auth_expires パスワードリカバー、2段階認証の有効期限(秒) 600
auto_orient 画像を自動的に回転 TRUE
backup_compress バックアップファイルを圧縮するときに指定します。gzまたはzipが指定できます。 指定なし
backup_rotate バックアップファイルの世代数を指定します。 1
basename_len 自動生成するベースネームの文字列長を指定します。 40
basename_upper_lower ベースネームカラムで大文字の指定ができるようになります(ver.2.5以降)。 FALSE
cache_dir キャッシュドライバ「File」を指定している時、キャッシュディレクトリのパスを指定します。 指定なし
cache_driver キャッシュドライバ(MemcachedまたはFile)(ver.2.4以降 config.json-original.json内で"File"指定あり) 指定なし
cache_expires キャッシュの最大有効期限(秒) 86400
can_rebuild_in_view インデックス・アーカイブ以外のビューの編集画面に「保存と再構築」ボタンを追加します(ver.2.5以降)。 FALSE
can_upload_hidden 隠しファイル(「.」から始まるファイル名)のアップロードを許可します(ver.2.4以降)。 FALSE
cfg_admin_url 管理画面URLを常に固定したい時に指定します。 指定なし
check_int_null 数値型のカラムを nullで保存しようとしたときにエラーを表示します。 FALSE
comp_url_md5 FALSEを指定するとデータベースのURLレコードのハッシュ値を無視して実ファイルとパブリッシュするデータを正確に比較します(ver.2.4以降)。 TRUE
composer_autoload composerが生成した「autoload.php」のパスを指定します(ver.3.0以降)。 指定なし
compile_check 各種コードのコンパイルチェックを実施するかどうかを指定します。 TRUE
cookie_domain クッキーが有効な(サブ)ドメイン。 指定なし
cookie_path クッキーの有効範囲 /
csv_allow_nl CSVエクスポートで改行を含むテキストを外部ファイル化します。 TRUE
ctx_cache_ttl テンプレートのコンパイルキャッシュ有効期限を秒で指定します。 3600
clean_up_published_url 削除フラグのない URLをスケジュールタスクで整理対象にします(ver.3.0以降)。 FALSE
db_caching TRUEの時、SQLの実行結果をメモリにキャッシュして高速化を図ります。 TRUE
db_use_buffer PDO::MYSQL_ATTR_USE_BUFFERED_QUERYの値を指定します。 TRUE
debug デバッグモード(管理画面下部に各種情報を表示) FALSE
description_cols ファンクションタグ「mt:archivedescription(ver.3.0以降)」で出力する対象のカラムを配列で指定します。 ["description", "excerpt"]
denied_exts アップロード不許可の拡張子 初期値(カンマ区切り)
develop 開発者モード(標準モデルの編集を可能にする) FALSE
dir_perms 作成するディレクトリのパーミッションを「755」「644」など3桁の数値で指定します(ver.2.4以降)。 指定なし
directory_index URLMapが空文字の時、指定の拡張子に対するMime Typeでプレビュー結果を返します。 index.html
do_conditional ダイナミックパブリッシングでブラウザキャッシュを有効化します。 TRUE
document_root $_SERVER['DOCUMENT_ROOT']の値が実際のドキュメント・ルートと異なる時、ドキュメント・ルートのパスを指定します。 指定なし
dynamicmtml_in_preview プレビュー時に DynamicMTML の処理を実行します(ver.2.3以降)。 FALSE
error_document404 pt-view.phpを通っているリクエストでファイルが存在しない時に表示するページのパス(サイト・パスからの相対パス)を指定します。
指定のない場合はそのスコープまたはシステムにベースネーム「404-error」のビューが存在する場合はそのビューが利用されます。
 
esc_trans ファンクション・タグ「mt:trans」、グローバルモディファイア「trans」「language」及び Prototypeクラスの「translate」メソッドの結果を常に HTMLエスケープするようになります(ver2.55以降)。 FALSE
eval_in_preview プレビュー時にビューに含まれるPHPコードを実行します。 FALSE
eval_in_view ダイナミックパブリッシング時にビューに含まれるPHPコードを実行します。 FALSE
export_int2label CSVインポート&エクスポートで数値型リレーションカラムの値をオブジェクトのラベル(プライマリカラムの値)で扱うようになります FALSE
export_without_bin CSVエクスポート時に、ファイルを含めない FALSE
fix_email_from メールアドレスか TRUE(この場合はシステムのメールアドレスが使われます) が指定可能です。メールの From をすべて指定のアドレスに固定します。 FALSE
file_perms 作成するファイルのパーミッションを「755」「644」など3桁の数値で指定します(ver.2.4以降)。 指定なし
fmgr_delayed 指定のある時、ファイルの書き込みを遅延処理します。速度の遅いディスクでの体感処理速度を向上します。 FALSE
fmgr_use_tmp 指定のある時、ファイルの上書き時に一時ファイルを生成してから元ファイルと差し替えます。 TRUE
force_compile 管理画面テンプレートを毎回コンパイルする(FALSEの方が高速) FALSE
force_secure TRUEの時、管理画面へ HTTPアクセスしたとき、HTTPSへリダイレクトされます。 FALSE
form_session_name フォームにセッションを利用するときにセッションのキーを指定します(ver.2.57以降)。 pcmsx_form_token
http_request_fulluri 環境変数「http_proxy」が有効な場合に利用され、HTTP コンテキストオプション「request_fulluri」の値を指定できます(ver.2.4以降)。
http_proxy PHP経由での外部への通信にプロキシを利用する時、設定を指定します。 指定なし
hierarchy_max_depth 「階層の管理」画面で配置可能な階層の数を指定します(ver.2.55以降)。 100
image_paste_without_size リッチテキストエディタへの画像挿入時に width属性と height属性を省略します。(ver.2.4以降)。 FALSE
image_quality 画像アップロード時の画質 60(100で最高画質)
imagick_convert_path ImageMagickがインストールされている時 convertコマンドのパスを指定します。  
immediate_lockout 指定のある時、ログイン中も常にIPロックアウトをチェックするようになります。 FALSE
import_detach_binary 指定のある時、CSVからのインポートでバイナリ型のカラムを空にセットすることでファイルを削除します。 FALSE
import_paths インポートファイルを設置するディレクトリのパスを指定します。容量が大きい時、インポート画面で予めアップロードしたインポートファイルを選択できるようになります。 省略時は{app_dir}import(指定がある時も{app_dir}importを含む)
import_set_default CSVからのオブジェクトのインポート及びプラグイン「DataMigrator」でのインポートの時、値のないカラムに対してカラムのデフォルト値をセットします(ver.2.55以降)。 FALSE
init_tags 指定のある時、管理画面でダイナミック・タグを利用可能にします。 FALSE
keep_master_basename リビジョンをマスタに適用する時、ベースネームを維持するかどうかを指定します。 FALSE
language 言語 ja(ver.2.55以降)
languages 対応言語 ["ja", "en"]
linked_file ビューをファイルにリンクする機能の挙動を決定します。0は機能を無効化し、1は保存時に書き込み、2は PowerCMS 互換の振る舞いをします。Ver.3 以降で利用可能です。 2
list_limit 一覧画面の表示数の初期値 25
list_reorder_interval 一覧画面で行をドラッグ&ドロップした時の数値の間隔(単位)を指定します(ver.2.5以降)。 指定なし
load_monitoring ピークメモリ、ロードアベレージ、リクエストの処理時間をログに記録します。 FALSE
log_dir(旧:log_path) ログファイルの保存場所 {app_dir}/log
log_level 1で基本情報、2でパラメタを記録、3でバックトレースを記録します(ver.2.4以降)。 3
logging エラーログを保存する TRUE
logrotate 数値を指定すると月に1回、指定数だけ「error\.log」ログローテーションを行えます。「-1」を指定するとローテーション数の制限がなくなります。 配列を指定することで複数のログファイルを対象にし、期間の指定などの詳細設定ができます(例:"logrotate" : {"error.log" : ["weekly", 10, "gz"],"performance.log" : ["monthly", 10, "gz"],"load_avg_peak_memory.log" : ["daily", 10, "gz"]},)。 TRUE
mail_encording メールヘッダの文字エンコーディングを指定します。  
mail_language 電子メールの言語を指定します。「uni」を指定すると「UTF-8/Base64」エンコードしてメールを送信します。 ja
mail_return_path メールヘッダ「Return-Path」を指定します。  
mail_transfer 「debug」を指定するとメール送信を行わずにログにメールの内容を保存します(ver.2.4以降)。 指定なし
maintenance_time 夜間バッチなどを実行する時間帯の範囲を指定します。標準設定では、テーブルの最適化処理を行う時間の判断に利用されます。 ["020000", "050000"]
max_blob_cols 1つのモデルに対するバイナリ/ファイル型のカラムがこの数を超えた時、管理画面に警告が表示されます。 5
max_packet MySQL接続でシステム変数max_allowed_packetのランタイム値を設定する場合の値です。接続ユーザーにSYSTEM_VARIABLES_ADMIN権限 (MySQL 8.0未満ではSUPER権限) が必要です。 NULL
max_revisions 最大リビジョン数(モデルごとに指定可能) 無制限(-1)
memcached_servers cache_driverに Memcached指定の時「host:port:weight」の形式で記述した文字列の配列を指定します。 省略時は「localhost:11211:33」
memory_limit HPの memory_limit に指定の値をセットします。 2048M
model_paths モデルを定義するJSONファイルを設置するディレクトリを追加する時、パスを配列で指定します(末尾にDIRECTORY_SEPARATORを付けない)。  
{models}_per_rebuild モデルの複数形名+_per_rebuildを指定することで、モデル毎の再構築単位を設定できます(例:entries_per_rebuild)。指定のない時は per_rebuildの値が使われます。  
{models}_publish_nextprev 特定のモデルのオブジェクト更新時に前後のオブジェクトを再構築します。 指定なし
{model}_{column}_sort_order 管理画面上で、リレーションを選択する UIの関連モデルの表示順を指定します。 指定なし
{model}_{column}_sort_by 管理画面上で、リレーションを選択する UIの関連モデルの表示順指定に使われるカラム名を指定します。 指定なし
modifier_funcs モディファイア名と PHPの関数名をハッシュ配列で指定することグローバルモディファイアを追加できます。 []
mysql_path mysqlコマンドのパスを指定します。リストアの際に利用されます。 指定なし
mysqldump_path mysqldumpコマンドのパスを指定します。バックアップの際に利用されます。 指定なし
news_box_url ダッシュボードの「PowerCMS X ニュース&イベント」ウィジェットを取得するURLを指定します。FALSEを指定するとメッセージを表示しません。 https://powercmsx.jp/information/dashboard.html
no_genarate_basename 対象のモデルを配列で指定します。指定のある時、そのモデルのbasenameカラムの値を自動生成しません。 指定なし
objectloop_order オブジェクト複数形のブロックタグ (mt:entries等)で「sort_by」属性指定があり、「sort_order」属性指定がない時のデフォルトのソート順を指定します(ver.2.55以降)。 ascend
output_compression レスポンスをgzip圧縮する TRUE
panel_limit パネルに表示するモデル数の上限を指定します。この数字を超えたものについては、ドロップダウンメニュー内に移動します。 5
panel_width パネル・メニュー項目の最大幅をピクセルで指定します。 103
parallel_publish_objs 数値を指定することで複数のオブジェクトの再構築を並列処理することで高速化を図ります。必ず動作確認の上指定してください。環境変数「php_binary」の設定が必要です。Windows環境ではサポート外となります(ver.2.55以降)。 指定なし
parallel_sleep_time 並列処理スタート時の実行間隔秒を指定します(ver.2.55以降)。 指定なし
parallel_publish_queue 数値を指定すると、再構築キューを並列処理・分割処理してメモリ節約と実行時間を短縮できます。必ず動作確認の上指定してください。環境変数「php_binary」の設定が必要です。Windows環境ではサポート外となります(ver.2.5以降)。 指定なし
parallel_publish_queue 数値を指定すると、再構築トリガーによる再構築を並列処理・分割処理してメモリ節約と実行時間を短縮できます。必ず動作確認の上指定してください。環境変数「php_binary」の設定が必要です。Windows環境ではサポート外となります(ver.2.5以降)。 指定なし
password_letternum パスワードに文字と数字を含める FALSE
password_min パスワードの最小文字数 8
password_symbol パスワードに記号を必須にする FALSE
password_upperlower パスワードに大文字小文字を含める FALSE
path アプリケーション・ディレクトリがシンボリックリンクやScriptAliasなどの時、WebサーバーのURLのドキュメント・ルートからアプリケーションディレクトリの相対パスを指定します。  
path_upperlower TRUEを指定するとファイルの大文字小文字を区別して扱います(ver.2.55以降)。 FALSE
path_verify 1を指定すると、ドキュメント・ルートより上位のディレクトリへアーカイブを出力できず、2を指定すると、サイト・パスより上位のディレクトリへアーカイブを出力できなくなります(ver.2.55以降)。 1
per_rebuild 同一オブジェクトの再構築数単位 50(ver.2.57以降)
paml_version テンプレートエンジン PAMLのバージョンを指定します。 3(ver.3.0以降)
performance_logging 一定時間以上再構築に時間を要したビューのログを logディレクトリに記録します。 FALSE
performance_logging_threshold この数値秒以下のとき、performance_loggingの対象外となります。 1.0
php_binary サーバー上のPHPのパスを指定します。 指定なし
plugin_paths プラグインを設置するディレクトリを追加する時、パスを配列で指定します(末尾にDIRECTORY_SEPARATORを付けない)。  
preview_redirect プレビュー時に一時パラメタを発行し、ページを遷移します。「tmpfile」を指定するとプレビュー用の一時ファイルを生成してリダイレクトするようになります(ver.2.57以降)。 TRUE
pt_check_url pt-check.phpのURLを指定します(ver.3.0以降)。 指定なし
publish_callbacks 指定のある時start_publish, pre_publish, post_rebuild, post_publishコールバックイベントを発行します。 FALSE
publish_file URLマップ作成時のファイル出力の既定値です。 1(静的)
publish_nextprev オブジェクト更新時に前後のオブジェクトを再構築します。 FALSE
publish_queue_limit 1度のタスクでの再構築キューの処理数の上限を指定します(ver.2.5以降)。 指定なし
published_on_default 公開日の初期値をPHPの date形式で指定します。例:YmdH0000(ver.2.75以降)。 指定なし
query_cache データベースへのSQLクエリの結果をキャッシュします。 FALSE
rebuild_async ポップアップウィンドウからの再構築を並列処理で行います。 FALSE
rebuild_interval 再構築リクエストのリダイレクト待ち秒 0
rebuild_optimizer 「performance_logging」指定のある時、パフォーマンス・ログからモデルごとの再構築単位を自動設定します。 TRUE
rebuild_order ポップアップウィンドウの再構築のモデルの順番をモデルの表樹順の順番に指定します(ver.2.75以降)。 ascend
rebuild_order_compat rebuild_orderの設定を無視し、従来のモデル順に戻します。 FALSE
rebuild_request_time 「rebuild_optimizer」指定のある時、1回のリクエストが指定秒におさまるように再構築単位を設定します。 40
rebuild_trigger_per 遅延再構築を分割処理して利用メモリを節約できます(結果として実行時間を短縮します)。必ず動作確認の上指定してください。環境変数「php_binary」の設定が必要です。Windows環境ではサポート外となります(ver.2.5以降)。 指定なし
recover_ip_at_reset 指定のある時パスワードリカバーでIPロックアウトをあわせて解除します。 FALSE
regex_replace_compat TRUEを指定すると、regex_replaceモディファイアに指定した式が正規表現エラーになった時、空文字を返します。FALSEの時は、元の文字列を返します(ver.2.55以降 : config.json-original.json内で false 指定あり)。 TRUE
remove4byte データベースが4バイト文字(絵文字など)を扱えない時、リクエストの値からから4バイト文字を削除し、アップロードファイル名では4バイト文字を rawurlencodeします。 FALSE
remove_async 指定のある時、一覧画面からの削除処理について、関連オブジェクトの削除処理を非同期遅延・分割処理します。 TRUE
remove_exif Exif情報を削除 TRUE
reset_url_method "copy"を指定するとURL変更時に元のファイルを消さずにコピーします。 rename
search_by_field_compat 指定のある時「mt:entries」などのオブジェクトをループするブロックタグのフィールドの値による絞り込みで、条件にマッチするオブジェクトが存在しない場合に絞り込みを行いません(ver.2.583以降)。 FALSE
select_preview_urlmap モデルに複数の URLマップが割り当てられている時、プレビューする URLマップを選択できるようにします。 FALSE
sess_timeout ログインセッションの有効期限(秒) 86400
session_dir PHPの「session_save_path」を変更します。  
set_names 「SET NAMES utf8mb4」リクエストを初期化時に発行します。 TRUE
sethashvar_compat FALSEを指定するとブロックタグ「mt:sethashvar」の中で「mt:setvarblock」もハッシュ変数の対象となります(ver.2.5以降 : config.json-original.json内で false 指定あり)。 TRUE
site_base_path サイト・パスを特定ディレクトリ配下に制限します。 指定なし
static_conditional ダイナミックパブリッシングでリクエストが pt-view.php に渡っている時、静的ページに対して条件付きGETを適用します。 TRUE
support_dir アプリケーションが利用するファイルを保存するディレクトリです。 省略時は{app_dir}support
sync_dirs 同期元と同期先のディレクトリをセットでハッシュで指定します。スケジュールされたタスクの実行時および、システムの設定を保存したタイミングで差分があれば同期を行います。alt-tmplなどを永続化された低速なディスクから高速なディスクへ同期するなどの用途に利用できます。
system_info_url ダッシュボードのバージョンアップメッセージを取得するURLを指定します。FALSEを指定するとメッセージを表示しません。 https://powercmsx.jp/information/dashboard.html
tag_delimiter MTML以外のタグ記法をサポートします(ver.3.0以降)。指定できるのは「Smarty」「Twig」「Mustache」です。 指定なし
tag_multibyte FALSEを指定するとカラムのラベルに日本語テキスト+英数字を指定している時にダイナミック・タグを生成しません。例: productモデルに「商品ID」カラムを指定した時、「商品」を削除して「mt:productid」が重複登録されてしまうのを防ぎます。 TRUE
{task_id}_frequency プラグインで指定しているタスクの実行間隔を上書き指定します(ver.2.5以降)。  
temp_dir アップロードファイルなどの一時格納ディレクトリです。PrivateTmp が有効な環境では、worker\.php実行時のキャッシュのクリアがうまく行かない時があります。/tmp以外のパス指定を推奨します。 /tmp
tinymce_version 「4.x」を指定すると リッチテキストエディタTinyMCEのver.4.8.5 を利用できます(ver.2.4以降)。 5.5.1
tmpl_paths 代替テンプレートを設置する「alt-tmpl」ディレクトリを追加する時、パスを配列で指定します(末尾にDIRECTORY_SEPARATORを付けない)。  
theme_paths テーマを設置するディレクトリを追加する時、パスを配列で指定します(末尾にDIRECTORY_SEPARATORを付けない)。  
theme_static テンプレート変数「theme_static」の値 {app_path}/theme_static
timezone タイムゾーン Asia/Tokyo
trim_tmpl 指定のある時、ビルドしたテンプレートの結果をトリミングします。 FALSE
unify_breaks ビューの再構築時に改行コードを揃えます。 TRUE
upload_image_option 画像アップロード時に上限を超えたときの処理を指定します。 resize
upload_max_pixel 画像アップロードの最大ピクセル数 無制限(0)
upload_size_limit ファイルアップロードの最大バイト数 33554432
urltag_compat オブジェクトのファイルのパスを取得する際、タグ名が現在のコンテキストと異なる時も値を返します(ver.2.42以降)。 TRUE
use_comment コメント機能を有効化します。 FALSE
user_css ルート相対パスもしくはURLを指定することで、管理画面に CSSを追加します(ver.2.5以降)。 指定なし
user_js ルート相対パスもしくはURLを指定することで、管理画面に JavaScriptを追加します(ver.2.5以降)。 指定なし
use_timezone システムの設定・スペースの設定でタイムゾーンを選択可能にします(ver.2.55以降)。 FALSE
validate_url ダイナミックパブリッシングで閲覧するページのURLを厳密にチェックします。 TRUE(ver.2.5以降)
verify_form_referrer フォームへの確認画面・投稿時にリファラをチェックします(ver.2.55以降)。 FALSE
verify_publish 拡張子の設定によって禁止されている拡張子のファイルをいずれのケースでも出力しません(ver.2.55以降)。 FALSE
verify_referrer データの更新・削除などの際の一時トークンのチェック時にリファラをあわせてチェックします(ver.2.55以降)。 FALSE
worker_db_caching 定期実行タスクの実行時にクエリキャッシュを有効にします。メモリ不足になる場合は FALSE を指定してください。 TRUE
worker_period 定期実行タスクの重複実行防止の間隔(秒) 3600
weak_count_context TRUEを指定すると「mt:entriescount」などのタグが「mt:archivelist」タグ内で日付以外のコンテキストを無視し「mt:categories」などのタグ内で日付のコンテキストを無視するようになります(ver.2.55以降)。 FALSE
weak_date_context TRUEを指定すると「published_on」カラムのないオブジェクトのリストでは日付のコンテクストを無視するようになります(ver.2.55以降)。 FALSE
work_dir スケジュールタスクが利用する一時ディレクトリを指定します(ver.2.585以降)。 /tmp
wrap_email メールを改行で折り返す文字数を指定します。 200