a-blog cms PHP API Reference

InstallMessages
in package

FinalYes

インストーラーのエラー/注意メッセージのカタログ。

旧 install.html は各エラーを BEGIN/END ブロックにインライン記述しており、同じ文言が 画面ごとに重複していた。Twig 移植にあたりメッセージを一箇所へ集約し、テンプレートは エラーキーのリストをループして本カタログの文言を描画する(保守性向上)。純粋なマップ参照のみ。

Twig テンプレートへの表示を前提としたメッセージカタログのため Acms\Services\Setup に置く (CLI 版インストーラーは別途プレーンテキストのメッセージ出力になる想定で、本クラスは再利用されない)。

Table of Contents

Constants

ERROR  = [ 'config_exists' => 'config.server.php が見つかりません。正しくコピーされているか確認してください。', // パーミッションは「PHP 実行ユーザーが読み書きできること」が要件(数値そのものより所有権の一致が重要)。 // 公式ドキュメント(developer.a-blogcms.jp/document/install/permission.html)に沿った推奨値を示す。 'config_permission' => 'config.server.php を PHP から書き込めるようにしてください(例: 所有者が PHP 実行ユーザーなら 644、FTP と実行ユーザーが別の共有環境では同一グループにして 664)。本番で 666/777 は避けてください。', 'license_exists' => 'license.php が見つかりません。正しくコピーされているか確認してください。', 'themes_exists' => 'テーマの保管用のディレクトリが見つかりません。正しくコピーされているか確認してください。', 'archives_exists' => 'ファイルのアップロード用のディレクトリ(archives)が見つかりません。', 'archives_permission' => 'archives ディレクトリを PHP から読み書きできるようにしてください(例: 755、共有環境では 775)。本番で 777 は避け、所有権を PHP 実行ユーザーに合わせてください。', 'media_permission' => 'media ディレクトリを PHP から読み書きできるようにしてください(例: 755、共有環境では 775)。本番で 777 は避け、所有権を PHP 実行ユーザーに合わせてください。', 'storage_permission' => 'storage ディレクトリを PHP から読み書きできるようにしてください(例: 755、共有環境では 775)。本番で 777 は避け、所有権を PHP 実行ユーザーに合わせてください。', 'cache_exists' => 'cache ディレクトリが見つかりません。', 'cache_permission' => 'cache ディレクトリを PHP から読み書きできるようにしてください(例: 755、共有環境では 775)。本番で 777 は避け、所有権を PHP 実行ユーザーに合わせてください。', // php/lang は .htaccess を直同梱(更新で再配布)。欠落=配布/デプロイの異常。 'php_htaccess_exists' => 'php ディレクトリに .htaccess が見つかりません。配布物同梱の php/.htaccess を確認してください。', 'lang_htaccess_exists' => 'lang ディレクトリに .htaccess が見つかりません。配布物同梱の lang/.htaccess を確認してください。', // root / extension / データ系は htaccess.txt を .htaccess へ自動リネーム(HtaccessActivator)。 // ここでエラーになるのは自動リネームに失敗した場合=親ディレクトリの書き込み権限不足。 'htaccess_exists' => 'ルートディレクトリの .htaccess を有効化できませんでした(htaccess.txt の自動リネームに失敗)。ルートディレクトリを一時的に書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'extension_htaccess_exists' => 'extension ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。extension を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'archives_htaccess_exists' => 'archives ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。archives を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'media_htaccess_exists' => 'media ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。media を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'storage_htaccess_exists' => 'storage ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。storage を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'cache_htaccess_exists' => 'cache ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。cache を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'private_htaccess_exists' => 'private ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。private を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'cron_htaccess_exists' => 'cron ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。cron を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'themes_htaccess_exists' => 'themes ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。themes を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', // Step 2: ドメイン 'domain_input' => 'ドメイン名が入力されていません。', 'domain_invalid' => 'ドメイン名が不正です。ご確認の上、もう一度入力してください。', 'config_read' => 'config.server.php を読み込めませんでした。パーミッションを確認してください。', 'config_write' => 'config.server.php に書き込めませんでした。パーミッションを確認してください。', 'config_open' => 'config.server.php を開けませんでした。パーミッションを確認してください。', // Step 3: データベース 'server_connect' => 'データベースサーバーに接続できませんでした。サーバー名・ユーザー名・パスワードをご確認ください。', 'database_connect' => 'データベースに接続できませんでした。データベース名・文字コード・照合順序をご確認ください。', 'db_host_input' => 'データベースサーバー名を入力してください。', 'db_name_input' => 'データベース名を入力してください。', 'db_name_invalid' => 'データベース名に利用できない文字が含まれています。半角英数字・アンダースコアのみ使用できます。', 'db_user_input' => 'データベースユーザー名を入力してください。', 'db_prefix_input' => 'テーブル先頭文字列を入力してください。', 'db_prefix_invalid' => 'テーブル先頭文字列に利用できない文字が含まれています。半角英数字・アンダースコアのみ使用できます。', 'db_collation_invalid' => '照合順序(COLLATE)に利用できない文字が含まれています。半角英数字・アンダースコアのみ使用できます。', 'create_database' => 'データベースの作成に失敗しました。同名 DB の存在・権限・文字コードをご確認ください。', // Step 5: ブログ/ユーザー 'blog_name_input' => 'ブログの名前を入力してください。', 'blog_name_invalid' => 'ブログの名前は255文字以内で入力してください。', 'select_theme_input' => 'テーマを選択してください。', 'select_theme_invalid' => '選択されたテーマは利用できません。一覧から選び直してください。', 'user_name_input' => 'ユーザー名を入力してください。', 'user_mail_input' => 'メールアドレスを入力してください。', 'user_mail_invalid' => '有効なメールアドレスではありません。', 'user_code_input' => 'ユーザーIDを入力してください。', 'user_code_invalid' => 'ユーザーIDに利用できない文字が含まれています。', 'user_pass_input' => 'パスワードを入力してください。', 'user_pass_invalid' => 'パスワードに利用できない文字が含まれています。', 'yaml_exist' => '選択されたテーマの yaml ファイルが見つかりません。', // check() のバリデーションをすり抜けた不正値の最終防波堤(InstallerOptions 側の検証失敗) 'setup_input_invalid' => '入力内容に誤りがあります。ご確認のうえ、もう一度入力し直してください。', // Step 6: 後始末 'error_remove_setup_dir' => 'setup ディレクトリの削除に失敗しました。書き込み権限を確認して再実行するか、手動で削除してください。', ]
エラーキー → 表示メッセージ。必須拡張の `{ext}_exists` は共通の雛形で補う。
NOTICE  = ['imagerotate_exists' => 'この環境では画像の回転処理を利用できません(バンドル版 GD が必要)。CMS のインストールは可能です。', 'exif_exists' => 'この環境では EXIF 拡張を利用できないため、GD での EXIF Orientation 自動補正ができません。CMS のインストールは可能です。', 'alter_privilege' => 'データベースユーザーに ALTER 権限がありません。アップデート時に必要になります。インストールは可能です。', 'exists_table' => '既にテーブルが作成されていたため、テーブルの作成は行いませんでした。']
注意(インストールは続行可能)キー → メッセージ。オプション拡張の `{ext}_exists` は雛形で補う。
OPTIONAL_EXTENSION_LABEL  = ['imagick' => 'ImageMagick', 'opcache' => 'OPcache', 'apcu' => 'APCu', 'redis' => 'Redis', 'gettext' => 'Gettext', 'openssl' => 'OpenSSL']
オプション拡張の表示名(`{key}_exists` 注意の雛形補完用)。
REQUIRED_EXTENSION_LABEL  = ['curl' => 'cURL', 'dom' => 'DOM', 'fileinfo' => 'Fileinfo', 'filter' => 'Filter', 'gd' => 'GD', 'hash' => 'Hash', 'json' => 'JSON', 'mbstring' => 'mbstring', 'pcre' => 'PCRE', 'pdo' => 'PDO', 'pdo_mysql' => 'PDO MySQL', 'session' => 'Session', 'xmlreader' => 'XMLReader', 'xmlwriter' => 'XMLWriter', 'zip' => 'ZIP']
必須拡張の表示名(`{key}_exists` エラーの雛形補完用)。

Methods

error()  : string
errorList()  : array<int, array{key: string, message: string}>
エラーキーのリストを {key, message} のリストへ変換する(空メッセージは除外)。
notice()  : string
noticeList()  : array<int, array{key: string, message: string}>
注意キーのリストを {key, message} のリストへ変換する(空メッセージは除外)。
extensionKey()  : string|null
`{ext}_exists` 形式のキーから拡張名を取り出す。該当しなければ null。

Constants

ERROR

エラーキー → 表示メッセージ。必須拡張の `{ext}_exists` は共通の雛形で補う。

private array<string, string> ERROR = [ 'config_exists' => 'config.server.php が見つかりません。正しくコピーされているか確認してください。', // パーミッションは「PHP 実行ユーザーが読み書きできること」が要件(数値そのものより所有権の一致が重要)。 // 公式ドキュメント(developer.a-blogcms.jp/document/install/permission.html)に沿った推奨値を示す。 'config_permission' => 'config.server.php を PHP から書き込めるようにしてください(例: 所有者が PHP 実行ユーザーなら 644、FTP と実行ユーザーが別の共有環境では同一グループにして 664)。本番で 666/777 は避けてください。', 'license_exists' => 'license.php が見つかりません。正しくコピーされているか確認してください。', 'themes_exists' => 'テーマの保管用のディレクトリが見つかりません。正しくコピーされているか確認してください。', 'archives_exists' => 'ファイルのアップロード用のディレクトリ(archives)が見つかりません。', 'archives_permission' => 'archives ディレクトリを PHP から読み書きできるようにしてください(例: 755、共有環境では 775)。本番で 777 は避け、所有権を PHP 実行ユーザーに合わせてください。', 'media_permission' => 'media ディレクトリを PHP から読み書きできるようにしてください(例: 755、共有環境では 775)。本番で 777 は避け、所有権を PHP 実行ユーザーに合わせてください。', 'storage_permission' => 'storage ディレクトリを PHP から読み書きできるようにしてください(例: 755、共有環境では 775)。本番で 777 は避け、所有権を PHP 実行ユーザーに合わせてください。', 'cache_exists' => 'cache ディレクトリが見つかりません。', 'cache_permission' => 'cache ディレクトリを PHP から読み書きできるようにしてください(例: 755、共有環境では 775)。本番で 777 は避け、所有権を PHP 実行ユーザーに合わせてください。', // php/lang は .htaccess を直同梱(更新で再配布)。欠落=配布/デプロイの異常。 'php_htaccess_exists' => 'php ディレクトリに .htaccess が見つかりません。配布物同梱の php/.htaccess を確認してください。', 'lang_htaccess_exists' => 'lang ディレクトリに .htaccess が見つかりません。配布物同梱の lang/.htaccess を確認してください。', // root / extension / データ系は htaccess.txt を .htaccess へ自動リネーム(HtaccessActivator)。 // ここでエラーになるのは自動リネームに失敗した場合=親ディレクトリの書き込み権限不足。 'htaccess_exists' => 'ルートディレクトリの .htaccess を有効化できませんでした(htaccess.txt の自動リネームに失敗)。ルートディレクトリを一時的に書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'extension_htaccess_exists' => 'extension ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。extension を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'archives_htaccess_exists' => 'archives ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。archives を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'media_htaccess_exists' => 'media ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。media を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'storage_htaccess_exists' => 'storage ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。storage を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'cache_htaccess_exists' => 'cache ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。cache を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'private_htaccess_exists' => 'private ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。private を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'cron_htaccess_exists' => 'cron ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。cron を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', 'themes_htaccess_exists' => 'themes ディレクトリの .htaccess を有効化できませんでした(自動リネーム失敗)。themes を書き込み可能にするか、手動で htaccess.txt を .htaccess にリネームしてください。', // Step 2: ドメイン 'domain_input' => 'ドメイン名が入力されていません。', 'domain_invalid' => 'ドメイン名が不正です。ご確認の上、もう一度入力してください。', 'config_read' => 'config.server.php を読み込めませんでした。パーミッションを確認してください。', 'config_write' => 'config.server.php に書き込めませんでした。パーミッションを確認してください。', 'config_open' => 'config.server.php を開けませんでした。パーミッションを確認してください。', // Step 3: データベース 'server_connect' => 'データベースサーバーに接続できませんでした。サーバー名・ユーザー名・パスワードをご確認ください。', 'database_connect' => 'データベースに接続できませんでした。データベース名・文字コード・照合順序をご確認ください。', 'db_host_input' => 'データベースサーバー名を入力してください。', 'db_name_input' => 'データベース名を入力してください。', 'db_name_invalid' => 'データベース名に利用できない文字が含まれています。半角英数字・アンダースコアのみ使用できます。', 'db_user_input' => 'データベースユーザー名を入力してください。', 'db_prefix_input' => 'テーブル先頭文字列を入力してください。', 'db_prefix_invalid' => 'テーブル先頭文字列に利用できない文字が含まれています。半角英数字・アンダースコアのみ使用できます。', 'db_collation_invalid' => '照合順序(COLLATE)に利用できない文字が含まれています。半角英数字・アンダースコアのみ使用できます。', 'create_database' => 'データベースの作成に失敗しました。同名 DB の存在・権限・文字コードをご確認ください。', // Step 5: ブログ/ユーザー 'blog_name_input' => 'ブログの名前を入力してください。', 'blog_name_invalid' => 'ブログの名前は255文字以内で入力してください。', 'select_theme_input' => 'テーマを選択してください。', 'select_theme_invalid' => '選択されたテーマは利用できません。一覧から選び直してください。', 'user_name_input' => 'ユーザー名を入力してください。', 'user_mail_input' => 'メールアドレスを入力してください。', 'user_mail_invalid' => '有効なメールアドレスではありません。', 'user_code_input' => 'ユーザーIDを入力してください。', 'user_code_invalid' => 'ユーザーIDに利用できない文字が含まれています。', 'user_pass_input' => 'パスワードを入力してください。', 'user_pass_invalid' => 'パスワードに利用できない文字が含まれています。', 'yaml_exist' => '選択されたテーマの yaml ファイルが見つかりません。', // check() のバリデーションをすり抜けた不正値の最終防波堤(InstallerOptions 側の検証失敗) 'setup_input_invalid' => '入力内容に誤りがあります。ご確認のうえ、もう一度入力し直してください。', // Step 6: 後始末 'error_remove_setup_dir' => 'setup ディレクトリの削除に失敗しました。書き込み権限を確認して再実行するか、手動で削除してください。', ]

NOTICE

注意(インストールは続行可能)キー → メッセージ。オプション拡張の `{ext}_exists` は雛形で補う。

private array<string, string> NOTICE = ['imagerotate_exists' => 'この環境では画像の回転処理を利用できません(バンドル版 GD が必要)。CMS のインストールは可能です。', 'exif_exists' => 'この環境では EXIF 拡張を利用できないため、GD での EXIF Orientation 自動補正ができません。CMS のインストールは可能です。', 'alter_privilege' => 'データベースユーザーに ALTER 権限がありません。アップデート時に必要になります。インストールは可能です。', 'exists_table' => '既にテーブルが作成されていたため、テーブルの作成は行いませんでした。']

OPTIONAL_EXTENSION_LABEL

オプション拡張の表示名(`{key}_exists` 注意の雛形補完用)。

private array<string, string> OPTIONAL_EXTENSION_LABEL = ['imagick' => 'ImageMagick', 'opcache' => 'OPcache', 'apcu' => 'APCu', 'redis' => 'Redis', 'gettext' => 'Gettext', 'openssl' => 'OpenSSL']

REQUIRED_EXTENSION_LABEL

必須拡張の表示名(`{key}_exists` エラーの雛形補完用)。

private array<string, string> REQUIRED_EXTENSION_LABEL = ['curl' => 'cURL', 'dom' => 'DOM', 'fileinfo' => 'Fileinfo', 'filter' => 'Filter', 'gd' => 'GD', 'hash' => 'Hash', 'json' => 'JSON', 'mbstring' => 'mbstring', 'pcre' => 'PCRE', 'pdo' => 'PDO', 'pdo_mysql' => 'PDO MySQL', 'session' => 'Session', 'xmlreader' => 'XMLReader', 'xmlwriter' => 'XMLWriter', 'zip' => 'ZIP']

Methods

error()

public error(string $key) : string
Parameters
$key : string
Return values
string

errorList()

エラーキーのリストを {key, message} のリストへ変換する(空メッセージは除外)。

public errorList(array<int, string> $keys) : array<int, array{key: string, message: string}>
Parameters
$keys : array<int, string>
Return values
array<int, array{key: string, message: string}>

notice()

public notice(string $key) : string
Parameters
$key : string
Return values
string

noticeList()

注意キーのリストを {key, message} のリストへ変換する(空メッセージは除外)。

public noticeList(array<int, string> $keys) : array<int, array{key: string, message: string}>
Parameters
$keys : array<int, string>
Return values
array<int, array{key: string, message: string}>

extensionKey()

`{ext}_exists` 形式のキーから拡張名を取り出す。該当しなければ null。

private extensionKey(string $key) : string|null
Parameters
$key : string
Return values
string|null

        
On this page

Search results