OwnCloud 8.2.3 + PHP 7.0.6 で問題が起きたので修正

本記事は最終更新日より 1 年以上経過しております。
スポンサーリンク

 昨晩あたりに yum check-update したら PHP が 7.0.6 になっていたので、そのまま適用。動作確認を行っていたら OwnCloud 8.2.3 が不具合を起こしていた。具体的にはログイン不能になるし、既に認証済みのアプリなどからはファイルなどが無い物と見える状態となっていた。
 ちょっとこれはキツいなという事で、yum rollback で戻しておいた。時間を空けてググってみると解決策を見つけたので適用したところ、無事解決と。

Make ownCloud work again in php 7.0.6 by rullzer · Pull Request #24326 · owncloud/core
See CC: @nickvergessen @PVince81 @LukasReschke @DeepDiver1975

 公式の github に絡むやりとりからマージされたぽいので、これを適用したいが 9.0.1 の物なので 8.2.3 にも同様な記述であるか確認。全く同じ所があったから物は試しにと追記したら無事に動作して正常にログインやら同期が取れるようになった。

--- ./lib/private/appframework/http/request.php.bak     2016-04-29 11:07:09.186725774 +0900
+++ ./lib/private/appframework/http/request.php 2016-04-29 11:08:08.952050437 +0900
@@ -243,6 +243,9 @@
         * @return bool
         */
        public function __isset($name) {
+               if (in_array($name, $this->allowedKeys, true)) {
+                   return true;
+               }
                return isset($this->items['parameters'][$name]);
        }

 OwnCloud 9 系に乗り換えた方が何かと楽ぽいんだけど、動作しないアプリがあるんで当面このままで乗り越えて行こうと思う。

2016/05/09 追記
 OwnCloud 8.2.4 で Fix 済となった。

[Stable 8.2] Make ownCloud work again in php 7.0.6 – #24344 引用元 : https://owncloud.org/changelog/#latest8.2

スポンサーリンク