Loading
ナレッジ

「The input appears to be a DNS hostname but cannot match against hostname schema for TLD 'JP'」が出力されます

📅更新日: 2025-04-18🏷️P4「the手順Article ID: 000001888

Helix Swarm2021.2のメール設定後、以下のメッセージがログファイルに出力されました。

対応方法を教えてください。

出力されたメッセージ

The input appears to be a DNS hostname but cannot match against hostname schema for TLD 'JP',
The input does not appear to be a valid URI hostname,
The input does not appear to be a valid local network name in AbstractProtocol.php

Helix Swarmはメールアドレスに有効なトップレベルドメイン(TLD)があるかをチェックしています。
このメッセージはTLDに"JP"が登録されていないため出力されています。

以下のいずれかの方法で解消される場合があります。

  • トップレベルドメインの定義にJPを追加する(Hostname.phpの編集)
  • Address.phpでトップレベルドメインを許可する

■トップレベルドメインの定義にJPを追加する(Hostname.phpの編集)

Hostname.phpの場所:例

\opt\perforce\swarm\vendor\laminas\laminas-validator\src\Hostname.php

追記例

'jp',
'JP',
'jptest',
'jprs',


■ Address.phpでトップレベルドメインを許可する

Address.phpの場所:例

\opt\perforce\swarm\vendor\laminas\laminas-mail\src\Address.php

記述例

変更前)
$emailAddressValidator = new EmailAddressValidator(Hostname::ALLOW_DNS | Hostname::ALLOW_LOCAL);

 ↓

変更後)
$emailAddressValidator = new EmailAddressValidator(Hostname::ALLOW_ALL | Hostname::ALLOW_LOCAL);

Helix Swarmをアップグレードすると、上記で変更した内容は新しいファイルで上書きされます。
アップグレード時には同じ編集を実施する必要があります。


■ 解決しない場合

上記手順で解決しない場合、追加で以下の手順を実施してください。

1.Swarmキャッシュファイルの削除

phpファイルを変更したため、キャッシュ情報のリセットを行います。

キャッシュリセットコマンド例

curl -u "username:password" -X DELETE "https://myswarm.url/api/v9/cache/config/"

username:password:Helixサーバの管理者ユーザIDとパスワードを指定
myswarm.url:実際のHelix SwarmURLを指定

このコマンドを実行すると、Helix Swarmを構成するキャッシュが格納されるファイル"module-config-cache.php"が削除されます。キューワーカーを起動すると"module-config-cache.php"が再構成されます。"module-config-cache.php"は、以下のディレクトリに格納されるため、ファイルの日付が更新されていることをご確認ください。

キャッシュ格納先 /opt/perforce/swarm/data/cache


2.Apacheのリロード

以下のコマンドを実行します

実行コマンド例

apachectl restart

【Swarmから操作する場合】

1.super権限を持ったユーザでSwarmにログインします

2.ユーザアイコンから、[ System Information ]→[ Cache Info ]タブを開きます。

3.[ Reload Configuration ]ボタンをクリックします。

"/opt/perforce/swarm/data/cache"にある" *cache.php "
ファイルのタイムスタンプが更新されます。

 

読み込み中
「The input appears to be a DNS hostname but cannot match against hostname schema for TLD 'JP'」が出力されます