concrete5 8.1.0 インストール | ImportSinglePageStructureRoutine.php のエラー

概要

WP は MVC ではない CMS であるため、MVC なものを探していたら c5 を発見。8.1.0 というバージョンになっているので新規インストールしてみた。

空のデータベースが必要

既存テーブルがある場合は蹴られますので空のデータベースを用意します。

インストールに失敗しました。

空のデータベースを指定してインストール開始するもインストール失敗。

戻るをクリックすると、データベースが空じゃないので再度怒られますw

問題

{“error”:{“message”:”Argument 2 passed to Concrete\\Core\\Page\\Single::createPageInTree() must implement interface Concrete\\Core\\Site\\Tree\\TreeInterface, null given, called in \/var\/www\/concrete5\/concrete\/src\/Backup\/ContentImporter\/Importer\/Routine\/ImportSinglePageStructureRoutine.php on line 42″},”errors”:[“Argument 2 passed to Concrete\\Core\\Page\\Single::createPageInTree() must implement interface Concrete\\Core\\Site\\Tree\\TreeInterface, null given, called in \/var\/www\/concrete5\/concrete\/src\/Backup\/ContentImporter\/Importer\/Routine\/ImportSinglePageStructureRoutine.php on line 42”]}

SSL用のカノニカルURLを設定:にチェックをいれていたので外してから、データベースを空にして(新規インストールなので drop database 後 create database) の上、再度インストール
 →(NG)変わらず

日本語(デフォルトはAmerican English)、フルサイトを選択(デフォルトで選択されている)していたのでAmerican English が選択された状態で fullsite インストールしてみる
 →(NG)変わらず

空白のサイトを選択してインストールしてみる(NG)

トラブルシューティング

該当箇所を確認してみるが、そもそも TreeInsterface がヌルな理由がよくわからない。

     19     public function import(\SimpleXMLElement $sx)
     20     {
     21 
     22         if (isset($sx->singlepages)) {
     23             foreach ($sx->singlepages->page as $p) {
     24                 $pkg = static::getPackageObject($p['package']);
     25 
     26                 if (isset($p['global']) && (string) $p['global'] === 'true') {
     27                     $spl = Single::addGlobal($p['path'], $pkg);
     28                 } else {
     29                     $root = false;
     30                     if (isset($p['root']) && (string) $p['root'] === 'true') {
     31                         $root = true;
     32                     }
     33 
     34                     $siteTree = null;
     35                     if (isset($this->home)) {
     36                         $siteTree = $this->home->getSiteTreeObject();
     37                     } else {
     38                         $home = \Page::getByID(HOME_CID);
     39                         $siteTree = $home->getSiteTreeObject();
     40                     }
     41 
     42                     $spl = Single::createPageInTree($p['path'], $siteTree, $root, $pkg);
     43                 }
スポンサーリンク

シェアする

フォローする

スポンサーリンク