自動でも手動でもアップデートができない

2013年11月3日 at 21:27

現在実行中のバージョン:5.6.1.2ja
PHP Version: 5.3.27 (CGI/FastCGI)
memory_limit = 90M

海外サーバのdreamhostにconcrete5を移転をして以降、アップデートが動作しません。
「ダウンロード」を実行すると、「パッケージのダウンロード中にエラーが発生しました。」と出力されるのみで、どうすれば解決できるのか、皆目見当がつきません。
手動アップデートも試しているのですが、/updatesにconcrete5.6.2.1.jaディレクトリ以下をアップロードしても認識されず、アップデートの画面に何も表示されません。

移転時に編集した内容は、site.phpのみです。(移転元はmod_php+suPHP環境でした。)

何を修正すればよいのか皆目見当が付かない状態なのですが、原因の想定、解決策等情報がございましたらご教示いただけますと幸いです。

添付: concrete5.png
タグ:

Re: 自動でも手動でもアップデートができない

2013年11月4日 at 0:37
ダウンロードするには、サーバー設定でallow_url_fopenがOnになっているか、curlが有効になっている必要があります(通常インストール時にチェックされます)。

updatesにアップロードする場合は、concrete5.6.2.1.jaディレクトリ「以下」ではなく、「ディレクトリごと」アップロードしてください。
 

Re: 自動でも手動でもアップデートができない

2013年11月4日 at 2:03
お返事ありがとうございます。

phpinfoを再確認しましたが、allow_url_fopen、cURLのいずれについても、enabledになっています。
(そもそも、いずれかがenabledでなかったら、5.6.2.1で新バージョンが出ているという情報自体が取得できないはずなので、今回の事案においては想定しえない状況だと考えます。)

また、アップロード方法についても
updates
├concrete5.6.1.2.ja
└concrete5.6.2.1.ja
として、(自動アップデートの際に展開されるのと同様のディレクトリ構成で)アップロードしています。
 

Re: 自動でも手動でもアップデートができない

2013年11月4日 at 2:59
デバッグスクリプトを作りました。確認のため、下記URLのスクリプトを config/site_post.php としてアップロードし、お使いのサイトの /index.php/check_file_get_content/ にアクセスしてみてください。
http://gist.github.com/hissy/5a24f12024f26f3cd464

ngと出ればそもそもお使いのサーバーでリモート接続できていません。concrete5日本語サイトからのアップデート情報が表示されればリモート接続はできています。

リモート接続ができている場合、次は /index.php/check_download_remote_file/ にアクセスしてみてください。okと出ればファイルの取得もできているハズなので、あとはネットワーク側でダウンロードファイルの容量制限がされているとかだと思います。エラーが表示されれば、またコメントしてください。
 

Re: Re: 自動でも手動でもアップデートができない

2013年11月4日 at 4:02
hissy様

ご対応をいただき、ありがとうございます。
いただいたデバッグスクリプトは、正常に動作しているようです。

/index.php/check_file_get_content/
<update>
<version>5.6.2.1</version>
<date>2013-10-25</date>
<notes><![CDATA[
<h2>大きなメンテナンスアップデート</h2>

<p>
バージョン5.6.2, 5.6.2.1は、自動実行ジョブや権限のバグフィクス、多くの翻訳関連の修正などを含む、たくさんのバグフィクスといくつかの機能改善を含んだアップグレードになります。
すべてのconcrete5ユーザーにアップデートを推奨します。
</p>
<p>
もちろん、アップグレードを行う際はバックアップを行なってください。
</p>

<h2>5.6.2.1日本語版固有の注意事項!</h2>

<ul>
<li>日本語ロケール形式を"ja_JP.UTF8"から"ja_JP"に変更しました。アップデート後管理画面が英語になります。修正方法はリリースノートをご覧ください。</li>
</ul>

<h3><a href="http://concrete5-japan.org/news/5-6-2-1-release/" target="_blank">5.6.2.1のリリースノート全文を読む</a></h3>

]]></notes>
<url>http://concrete5-japan.org/download_file/view/1217/</url>
</update>

/index.php/check_download_remote_file/
ok


手動でのアップデートも動作しないことからして、何らかの原因により/updates以下のディレクトリに読み書きともにアクセスできていないことが原因に見えますが、確認すべき点等は無いでしょうか。
(/updatesのパーミッションは0777にしてあります。)
 

Re: 自動でも手動でもアップデートができない

2013年11月4日 at 5:08
デバッグスクリプトをアップデートしましたので、差替えたのち、 /index.php/check_updates_contents/ にアクセスしてみてください。concrete5の処理の通りですが、もう少し詳しくエラーが分かるようにしました。
 

Re: Re: 自動でも手動でもアップデートができない

2013年11月4日 at 13:58
hissy様

お手数をおかけしております。

/index.php/check_local_updates/
no update

/index.php/check_updates_contents/
app version not enoughapplication update is not available

と出力されたので、concrete5.6.2.1.ja以下を再アップロードしてみたところ、
/index.php/check_local_updates/
5.6.2.1

/index.php/check_updates_contents/
app version not enough5.6.2.1

となり、アップデート画面にも「ローカルアップデートをインストール」が表示されましたので、手動アップデートは動きそうな状態です。

一方、concrete5.6.2.1.jaディレクトリ自体を消しても、自動アップデートは動作しない(デバッグスクリプトではエラーは表示されないが、「パッケージのダウンロード中にエラーが発生しました。」と表示される)状態です。
 

Re: 自動でも手動でもアップデートができない

2013年11月4日 at 14:08
"app version not enough" と "5.6.2.1" が両方表示されるってことはupdatesにフォルダが複数あるってことですかね?とりあえずローカルアップデートができるようであれば、そっちで実施してください。ダウンロードしてくるだけでそれ以外の違いはありませんので。

リモート接続はできているのにzipは落として来れないということは、ネットワーク側で容量制限されているとかだと思います。
 

Re: Re: 自動でも手動でもアップデートができない

2013年11月4日 at 23:26
hissy様

ローカルアップデートが正常に動作しました。
updatesフォルダには実行中の5.6.1.2のフォルダもありましたので、デバッグスクリプトではそれが表示されているのだと思います。

自動アップデートについては、次回のアップデート配信時にもう少し様子を見てみます。

今回は、ありがとうございました。