コメント欄ブロックのエラー

2019年2月10日 at 8:16

いつもお世話になっております。

Xserverでconcrete5 8.4.4+Stuccoを使用していますがブロック追加でコメント欄を設定してコメントを書き込んだ後にコメントを編集して保存すると「予期せぬエラーが発生しました」となります。

他のテーマでも同じ状態でした。

エラーログは...

Exception Occurred: /home/test/test.com/public_html/test/concrete/tools/conversations/update_message.php:36 count(): Parameter must be an array or an object that implements Countable (2)
不具合でしょうか?

お手数をおかけして申しわけありませんが、宜しくお願い致します。

タグ:

Re: コメント欄ブロックのエラー

2019年2月12日 at 9:59
「Parameter must be an array or an object that implements Countable」を検索で調べてみると、php7.2によって多く発生しているもののようですね。

根本的な解決にはなりませんが、php7.1系にすると、解消されるのではないかなと思われます。

php7.2で進めたいという場合には、エラーの原因は上記から推測できるので、やりようはあるかと思うのですが、私はconcrete5 8.4系はテストで触ったくらいしかなく、また、stuccoを利用したことがないため、残念ながら詳しくはご説明できません。申し訳ありません。
 

Re: コメント欄ブロックのエラー

2019年2月12日 at 13:24
DeaconBlues様,返信ありがとうございます。
PHP7.2.6になっていました。
concrete5最新バージョンの動作環境が「•PHP 7.2の最新バージョンを推奨(PHP 5.5.9 以上)」となっています。
ディフォルトでもNGですのでテーマが原因ではないように思います。
どなたかわかる方おられませんでしょうか?
 

Re: コメント欄ブロックのエラー

2019年2月12日 at 13:31
お世話になります。

PHP 7.1 に戻せばエラーはなくなりますか?

「PHP7.2 を推奨」は、開発元のページ
http://documentation.concrete5.org/developers/installation/system-requirements
を元に僕が翻訳しました。

しかし、もしかすると、コメントブロックは PHP 7.2 ではうまく動かないバグがあるかもしれません。PHP7.1 でも僕たちの環境で 8.4.4 は concrete5 の動作に何も問題がありません。

7.1 で試してもらえますか?
 

Re: コメント欄ブロックのエラー

2019年2月12日 at 16:59
Katz様、ありがとうございます。

PHPを7.1に戻しましたらエラーは起こりませんでした。

ですが、PHP7.2で修正する方法はありませんか?

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

Re: コメント欄ブロックのエラー

2019年2月12日 at 17:49
ありがとうございます。

おそらく原因箇所は
/concrete/tools/conversations/update_message.php 36行目
だと思います。

ちょっといつ見れるかわかりませんが、見てみます。
(他の方で見れる方はお願いします & GitHub の PR も)

上記を修正すれば、PHP7.2 でも使えるようになるかもしれません。
 

Re: コメント欄ブロックのエラー

2019年2月13日 at 21:30
度々、申し訳ありません。

先ほどPHP7.1の状態でコメントを入力後にエラーは表示されませんでしたが管理画面→コメント欄→メッセージから記入済のメッセージを削除しようとしましたらエラーが表示されることがわかりました。(画像参照)
デバッグモードにしてログを確認しましたがエラーは取得できませんでした。(何度か実施しました。)
コメント欄はPHP7.1でも不具合を抱えているんでしょうか?
PHP7.2で動作することを希望しています。
お忙しいところ、お手数をおかけして申しわけありませんが、何卒よろしくお願い申し上げます。
 

Re: Re: コメント欄ブロックのエラー

2019年2月15日 at 22:43
素人考えでconcrete5-8.5.0RC1のconcrete/tools/conversations/update_message.phpを上書きしましたが改善しませんでした。

テストサイトにconcrete5-8.5.0RC1を新規インストールして試みましたらコメントを編集、削除してもエラーは表示されず、管理画面からも画像のエラーは表示されませんでした。

ですが、根本的な解決は出来ていません。

お手数をおかけして申しわけありませんが、引き続き宜しくお願い致します。
 

Re: コメント欄ブロックのエラー

2019年2月16日 at 22:23
度々すみません。

色々と試行錯誤した結果、不具合が発生する傾向がなんとなく出てきました。

テストサイトにconcrete5-8.5.0RC1を新規インストールして正常と前述していましたが、気になって再度concrete5 8.4.4を新規インストールしてディフォルトテーマのElementsを空白のサイトで設定してコメント欄ブロックを追加したら正常に動作します。そこから他のテーマに変更しても正常に動作しています。
ディフォルトテーマのElementsを空白ではないサイトでインストールすると不具合が発生するような感じがします。
あとはコメント欄を追加するエリアやブロックによってや、1度削除した後に再度追加すると不具合が出たり...
不定期なパターンで不具合が出るので正確にはわからないのです。
テーマが原因ではないと記述しましたがそうとも言い切れません。

宜しくお願い致します。