5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月5日 at 16:13

どうかお助けください。

5.7.5.9でインストールしたサイトを5.7.5.10にアップグレードしたらエラーが発生しました。
インストールした時のアカウントではなく、クライアント用に作成したアカウントで自動ログインし、そのことに気付かずそのままそのアカウントでアップグレードしてしまいました。

さくらインターネット スタンダードプラン
PHP5.4(下記エラーが出て先程5.6に変更しました)


Doctrine\Common\Proxy\AbstractProxyFactory::getProxyDefinition(): Failed opening required '/home/●●/www/●●/application/config/doctrine/proxies/__CG__ConcreteCoreFileStorageLocationStorageLocation.php' (include_path='/home/●●/www/●●/updates/concrete5.7.5.10_remote_updater/concrete/vendor:.:/usr/local/php/5.6/lib/php')



下記ページ
http://concrete5-japan.org/community/forums/5-7-x/post-11374/
を見て、
下記ページ
http://concrete5-japan.org/help/5-7/developer/installation/upgrading-concrete5/
の方法3を行ったところ、正常にアップグレードされてる的な画面が現れましたが「ホームに戻る」ボタンを押すと、またエラー画面に戻りました。

application/config/ ディレクトリの update.php の中は「concrete5.7.5.10_remote_updater」になっています。

「非常時対応:アップグレード権限のチェックを無効にする」
も行いました。

どうしたらいいのでしょうか。。。
よろしくお願いいたします。

タグ:

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月5日 at 16:52
あれれ?

すみません。

何となく、もう一度「http://www.example.com/ccm/system/upgrade」にアクセスしたらアップグレードの画面がでて、実行したらエラーは無くなったようです。
 

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月7日 at 23:14
こんばんは。
同じ症状ですのでここに投稿させていただきます。

私の方はインストールした時の管理者アカウントで.7.5.9から5.7.5.10へのアップグレードをしたのですが、ほぼ同じ内容のエラーが出るようになり失敗しました。
エラー内容は以下です。

Doctrine\Common\Proxy\AbstractProxyFactory::getProxyDefinition(): Failed opening required '/home/sites/XXXXXX/web/application/config/doctrine/proxies/__CG__ConcreteCoreFileStorageLocationStorageLocation.php' (include_path='/home/sites/XXXXXX/web/updates/concrete5.7.5.10_remote_updater/concrete/vendor:.:/usr/share/pear:/usr/share/php')

環境は
エクストリムレンタルサーバ(ビッグプラン)
MySQL 5.5.36
PHP 5.3.23

です。

まずは方法2で、/updates/concrete5.7.5.10_remote_updater/の中に手動で5.7.5.10のアーカイブの中のconcrete/を展開しなおしてみましたがエラー内容に変化なし。

次にtomoさんと同じように方法3を行ったのですが、
syntax error, unexpected '['
というエラーメッセージが出て結局状況は変わらないままです。

次に
>非常時対応:アップグレード権限のチェックを無効にする
をやってみましたが今度は
return array( 'updates' => array( 'enable_permissions_protection' => false ) );return array( 'updates' => array( 'enable_permissions_protection' => false ) );The cache directory must be published under the webroot (or you can set the concrete.cache.directory_relative configuration option)
と出てアップグレード画面にアクセスできなくなります。

という状況です。
対処法わかりましたらご助言いただけると(^_^;)
 

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月7日 at 23:25
Tomo さん。

PHP 5.5.9 以下ではエラーが発生するようです。

http://github.com/concrete5/concrete5/pull/4766/files
の変更を参考に

/concrete/src/Utility/Service/Identifier.php
のファイルを変更していただけませんか。

関連記事(より詳細の解決策)
http://concrete5-japan.org/community/forums/chat/post-14421/
 

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月8日 at 0:55
返信ありがとうございます。
試してみます。

たとえばなのですが、最悪きちんと動かない場合
乱暴なやり方かもしれませんが
・現在あるConcrete5のファイルを全て消し、アップデートに失敗する前の動いていた時点のバージョンをインストールし直す
・入れていたテーマ、アドオンを入れ直す
・データベースをアップデートに失敗する前の時点のバックアップから復元する
という手順でも復元できたりしますか?
 

Re: Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月8日 at 1:13
試してみましたが残念ながら状況に変化がありません。

/concrete/src/Utility/Service/Identifier.php
というのは元のインストールした場所にあるファイルでしょうか、それとも
updates/concrete5.7.5.10_remote_updater/
の下のconcrete/の中のことでしょうか。
(一応両方試してみたのですが)
 

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月8日 at 8:33
アップデートしていた場合は

/updates/concrete5.7.5.10_remote_updater/concrete/Utility/Identifier.php
のファイルですね。

ファイルを更新してから、アップグレードを試みていただけましたか?
 

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月8日 at 14:35
公式サイトの情報も更新しますが、
取り急ぎ、こちらでも

PHP 5.5.9 以下のサーバーで不具合が出ていた問題を解決した

5.7.5.11 がリリースされました
http://www.concrete5.org/download#legacy
 

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月9日 at 23:17
何度も自動アップデートを繰り返している環境でも、方法3でのアップグレードは
http://concrete5-japan.org/help/5-7/developer/installation/upgrading-concrete5/
の記述通りで可能なのでしょうか?
 

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月10日 at 14:30
方法3の方法ですが、
/application/config/update.php
を削除していただくか、update.bak などにリネームして頂く必要があります。
 

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月8日 at 14:46
ファイルを更新してから試みました。
上記のようにその上で状況が変わりません。

更新後
ccm/system/upgrade
にアクセスしたところ「アクセス拒否」となり、
>非常時対応:アップグレード権限のチェックを無効にする
を試してみた場合今度は

return array( 'updates' => array( 'enable_permissions_protection' => false ) );return array( 'updates' => array( 'enable_permissions_protection' => false ) );The cache directory must be published under the webroot (or you can set the concrete.cache.directory_relative configuration option)

と出てアップグレード画面(というかconcrete5で動いているはずのサイトのどこに対しても)にアクセスできなくなります。

アップグレードで起きる問題が解決されたバージョンが出たのですね。
質問しましたように一度concrete5のファイルをすべて削除して、動いていたバージョン5.7.5.9と入っていたアドオンやテーマをインストールし直し、DBのバックアップを復元すればいったん問題が起きる前の状態に戻すことはできないのでしょうか?

戻せるのであればいったんそうしてから問題の解決されたバージョンにアップグレードし直せばいいのでは、と素人考えでは思うのですがそれでは無理なのでしょうか。
 

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月10日 at 4:16
http://concrete5-japan.org/help/5-7/developer/installation/upgrading-concrete5/

の方法3における、アップグレード権限のチェックを無効にしようとして失敗する件ですが

>もしファイルの中身が空であれば、下記のコードをコピー&ペーストしてください。

return array(
'updates' => array(
'enable_permissions_protection' => false
)
);


に誤りがあり、書かれているコードの冒頭の部分に本来
<?php

が必要なのに抜けているようです…
コピペのみではうまく動作しませんでしたが、気づいて書き足すことでチェックは無効にできました。
元の文書についても訂正をお願いします。

その上で方法3の通りconcreteディレクトリを5.7.5.11のもので上書きし、そのままだと
/updates/concrete5.7.5.10_remote_updater/
を読みに行って5.7.5.10にアップデートする、と表示されてしまうので
application/config/update.php
を削除し、再度
/ccm/system/upgrade
にアクセスしたところ

>5.7.5.9からアップグレード
>5.7.5.11にアップグレード

と表示されるところまでは行き着きましたが、これを実行しても結局5.7.5.9→5.7.5.10のアップグレードに失敗した時と同じエラーメッセージが出て振り出しに戻る、という感じです…
なにか見落としていそうなところ、正しい手順がありましたらご指摘ください。
よろしくお願いします。
 

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月10日 at 4:27
エラー内容は

予期せぬエラーが発生しました。
syntax error, unexpected '['

です。
 

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月10日 at 14:34
スレッドが見やすいように、こちらにも投稿しておきます。

http://concrete5-japan.org/help/5-7/developer/installation/upgrading-concrete5/


「方法3 オリジナルの concrete ディレクトリを上書きする」
の方法は、以前に方法1、方法2、/updates/ にアップデートを一度でも行った方は、注意が必要です。

/application/config/update.php

というファイルが存在し、そこに情報が入っていると、/concrete フォルダを無視するという構造になっているので、上記の update.php を update.bak などにリネームして無効化 or 削除する必要があります。

それを行ってから、方法3を行ってみてください。

よろしくお願いいたします。
 

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月10日 at 17:07
回答ありがとうございます。

オリジナルのconcreteディレクトリを上書きし、
/application/config/update.php
をupdate.bakにリネームした上で
方法3を試してみましたが、

挙動が5.7.5.9から5.7.5.10にアップグレード失敗した時と変わらないのです。

方法3の
>非常時対応:アップグレード権限のチェックを無効にする
を行い、

/ccm/system/upgrade
にアクセスしますと


>5.7.5.9からアップグレード
>5.7.5.11にアップグレード


の画面は表示されます。

アップグレードを実行すると


>予期せぬエラーが発生しました。
>syntax error, unexpected '['


トップページにアクセスすると


Doctrine\Common\Proxy\AbstractProxyFactory::getProxyDefinition(): Failed opening required '/home/sites/******/web/application/config/doctrine/proxies/__CG__ConcreteCoreFileStorageLocationStorageLocation.php' (include_path='/home/sites/******/web/concrete/vendor:.:/usr/share/pear:/usr/share/php')


となり、5.7.5.10にアップグレード失敗した時と同じ反応です。
原因として考えられることはありますでしょうか。
 

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月10日 at 17:29
また、仮にPHPが5.3.23であることも考えられる原因であれば、サーバ会社に新しいバージョンのPHPを使えるように相談してみつつ
当面はそのバージョンのPHPで動いていた5.7.5.9で動けばいいので、可能ならダウングレードも試みてみたいのですが

ただ
http://concrete5-japan.org/help/5-7/developer/installation/upgrading-concrete5/
の記述通りDBのバックアップはしてあったのですが、ファイルのバックアップがありません。
5.7.5.9で動いていた時点でのDBのバックアップのみある状況です。

この状況で5.7.5.9に戻す方法はありますでしょうか。
 

Re: 5.7.5.9から5.7.5.10へのアップグレードでエラー

2016年12月11日 at 16:43
Tomo さん、
5.7.5.9 の DB のバックアップがあれば、5.7.5.9 からもとに戻せると思います。
/application/files/cache の中身を削除して、 DB をもとに戻してみてください。

昨日、更にバグ修正版である 5.7.5.12 がリリースされたので、
それで治るかもしれません。

すいませんが、よろしくお願いします。