# 承認時にService Unavailableが発生する

**URL:** https://forums.concretecms.org/t/service-unavailable/7551
**Category:** 日本語
**Tags:** bug
**Created:** [June 6, 2024, 3:07am UTC](https://forums.concretecms.org/t/service-unavailable/7551 "2024-06-06T03:07:15Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![CSRconcrete](https://forums.concretecms.org/user_avatar/forums.concretecms.org/csrconcrete/32/5178_2.png) [@CSRconcrete](https://forums.concretecms.org/u/CSRconcrete)
#### Post date: [June 6, 2024, 3:07am UTC](https://forums.concretecms.org/t/service-unavailable/7551/1 "2024-06-06T03:07:15Z")

</div>

お世話になります。

（前提）  
・ページのバージョン数が10以上  
・公開されているバージョンがない

この条件を満たした状態で、  
「承認」をクリックすると、Service Unavailableとなります。

Error  
Service Unavailable  
The server is temporarily unable to service your  
request due to maintenance downtime or capacity  
problems. Please try again later.  
がエラーメッセージとして表示されます。

 ![230606](https://forums.concretecms.org/uploads/default/original/2X/a/aa33c7b757900f08a133debe6864d17db08e52b2.png)  
ページのバージョン14を承認しようとしてエラー

・ページのバージョン数が10以上

ページのバージョン数が5件以下など比較的少ないものは、  
現在試した範囲では、エラーが発生していません。

・公開されているバージョンがない

ページのバージョン数が100近くあったとしても、  
公開されているバージョンが存在すれば、承認が直ぐに完了します。

また、ページのバージョン数の保持に問題があるのではないかと思い、  
直近10バージョンを残して、古いバージョンの削除を行いましたが、  
解消されませんでした。

Concrete Versionを9.2.6⇒9.2.7⇒9.3.2とバージョンアップしてみましたが、  
いずれのバージョンでも変わらず承認時エラーが発生します。  
（PHPは最新の8.3.8）

公開されているバージョンが存在する  
⇒承認が正常に完了する（このとき入れ替わりで元々公開されていたバージョンは非公開となる）  
公開されているバージョンがない  
⇒承認がエラーとなる

承認時に公開されているバージョンのチェックを遡って行おうとして  
エラーになっている？

となることから、バグではないかと考えております。

リリースが迫っているサイトで、  
各種最新にアップグレードしても一向に解決しないので  
困っています。

根本原因及び対処方法について、  
情報をお持ちではないでしょうか？

何かヒントになるものでも教えていただきたいです。  
よろしくお願いします。

---

<div class="post-metadata">

### Author: ![kzna](https://forums.concretecms.org/user_avatar/forums.concretecms.org/kzna/32/3495_2.png) [@kzna](https://forums.concretecms.org/u/kzna)
#### Post date: [June 8, 2024, 4:54am UTC](https://forums.concretecms.org/t/service-unavailable/7551/2 "2024-06-08T04:54:08Z")

</div>

レポート＞ログに、PHPのエラーの内容が発生した時刻に出力されていませんか？  
出ていればそこから手がかりになるかもしれません。  
環境を変更（PHPのバージョンなどを変更）してみるのもいいかもしれません。

PHPのバージョンとConcreteCMSの細かいバージョンが違うので参考にならないかもしれませんが、14バージョン以上作ってから承認を全て外し、再ログイン後に再び承認を行っても特にエラーは発生しませんでした。

---

<div class="post-metadata">

### Author: ![CSRconcrete](https://forums.concretecms.org/user_avatar/forums.concretecms.org/csrconcrete/32/5178_2.png) [@CSRconcrete](https://forums.concretecms.org/u/CSRconcrete)
#### Post date: [June 10, 2024, 2:58am UTC](https://forums.concretecms.org/t/service-unavailable/7551/3 "2024-06-10T02:58:36Z")

</div>

返信ありがとうございます。

別件でPOST（同一サイト）しているのですが、  
こちらで触れたエイリアスに問題があるようです。

> [@PHPのメモリ上限値を上げてもAllowed Memory Size Exhaustedが解消されない](https://forums.concretecms.org/t/php-allowed-memory-size-exhausted/7493):
>
> お世話になります。 フルサイトマップ（/index.php/dashboard/sitemap/full）上でのコンテンツ移動時に Allowed Memory Size Exhaustedの発生が頻発します。 memory\_limitを2048Mまで上げてみましたが、解消されません。 操作としては新たにディレクトリを用意し、 ツリーの移動を行っています。 大カテゴリ └小カテゴリ ＿└ページ ↓大カテゴリの下層に中カテゴリを作成 大カテゴリ └小カテゴリ ＿└ページ └中カテゴリ ↓作成した中カテゴリに小カテゴリのツリーを移動 大カテゴリ └中カテゴリ ＿└小カテゴリ ＿＿└ページ ・小カテゴリの下層にエイリアスが含まれることがあります ・下層にはエイリアスを含めて、5～10ページ程度コンテンツが存在します。 発生時のエラーログとなります。 Exception Occurred: /web/updates/concrete-cms-9.2.7-remote-updater/concrete/src/Foundation/ConcreteOb…

追加で検証を行うと、

－ページのバージョン数が10以上  
⇒ページのバージョン数は今回の件と直接関係ないようです。  
・公開されているバージョンがない  
＋下層にエイリアスを含む  
＋そのエイリアスのオリジナルページも同じ構成  
⇒オリジナルページの下層にエイリアスがなければ正常に完了します。

を満たすと、Service Unavailableが発生することがわかりました。

> 移動対象のツリーの中にページのエイリアスが1つでも含まれていると、  
> 処理が完了せずエラーとなります。

ページ  
└エイリアス※1

ページ（＝※1）  
└エイリアス※2

ページ（＝※2）  
└エイリアス※3

ページ（＝※3）  
└エイリアス

・  
・  
・

といった構成で、該当するエイリアスが含まれた操作を行うと  
処理が正常に完了されないようです。

---

<div class="post-metadata">

### Author: ![kzna](https://forums.concretecms.org/user_avatar/forums.concretecms.org/kzna/32/3495_2.png) [@kzna](https://forums.concretecms.org/u/kzna)
#### Post date: [June 10, 2024, 12:36pm UTC](https://forums.concretecms.org/t/service-unavailable/7551/4 "2024-06-10T12:36:00Z")

</div>

ローカル環境へConcreteCMSを新規にインストールし、  
同じような構造のページを作成してみましたが、  
私では再現しませんでした。  
（下記ループの最後のループが無い状態）  
承認時も移動時も子ページを辿って処理をしているようなので、  
ページとエイリアスが多い場合であれば  
どこかでエイリアスを切れば、移動や承認も通るかもしれません。

ちなみに下記のようにループするような構造だと、  
移動も承認もタイムアウトを起こします。

ホーム  
ページ1  
└ページ2(エイリアス)  
ページ2  
└ページ3(エイリアス)  
ページ3  
└ページ4(エイリアス)  
ページ4  
└ページ5(エイリアス)  
ページ5  
└ページ1(エイリアス) ※ループ状態！！

ループ状態になっている箇所があったらループを外してみるといいかもしれません。  
ページも少なくループもない場合は、申し訳ありません。

---

<div class="post-metadata">

### Author: ![CSRconcrete](https://forums.concretecms.org/user_avatar/forums.concretecms.org/csrconcrete/32/5178_2.png) [@CSRconcrete](https://forums.concretecms.org/u/CSRconcrete)
#### Post date: [June 11, 2024, 9:02am UTC](https://forums.concretecms.org/t/service-unavailable/7551/5 "2024-06-11T09:02:42Z")

</div>

検証ありがとうございます。

やはりエイリアスがツリー上でループする構造だと処理に無理があるようですね。

ページやエイリアスがかなり多い上に、エイリアスループが複数存在するサイトになるので、  
ツリーを扱う場合には、エイリアスを退避するか、一旦削除して再度設定するか  
といった運用が必要となりそうです。
