バージョン選択

フォーラム

メニュー

オンライン状況

78 人のユーザが現在オンラインです。 (62 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 77
tattsu もっと...

サイト内検索

質問 > 管理機能 > エラー(in_array() expects parameter 2 to be array~)について教えてください。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
MINE
投稿日時: 2019/3/7 23:47
対応状況: −−−
新米
登録日: 2019/3/7
居住地:
投稿: 2
エラー(in_array() expects parameter 2 to be array~)について教えてください。
[EC-CUBE] EC-CUBE2.13.5
[レンタルサーバ] XServer
[OS] Linux
[PHP] 5.6.36
[データベース] MySQL 5.7.16
[WEBサーバ] Apache
[カスタマイズの有無] 有(詳細不明)
[現象]
お世話になります。今回諸事情によりEC-CUBEで作成されたサイトを急遽運営しなければならなくなりました。
EC-CUBEやPHP・SQLに関しては殆ど素人です。検討違いな質問もあるかもしれませんがご了承下さい。

FTPでファイル関連がどの様な構造になっているのか確認しようと思い、/data/logsにアクセスした所、
error.logがerror.log/error.log.1/error.log2/…の様に合計5つほどできていました。
内容を確認した所、以下のエラーが断続的に発生していました。


2019/03/07 18:03:37 [/index.php] Warning(E_WARNING): in_array() expects parameter 2 to be array, null given on
[/ドメイン/public_html/business/data/Smarty/templates_c/default/%%4D^4D3^4D33001C%%header.tpl.php(9)] from IPアドレス


そこで対象のファイルと思われるファイルの9行目を確認してみると
<?php if (in_array ( ((is_array($_tmp=$this->_tpl_vars['child']['category_id'])) ? $this->_run_mod_handler('script_escape', true, $_tmp) : 
smarty_modifier_script_escape($_tmp)) , ((is_array($_tmp=$this->_tpl_vars['tpl_category_id'])) ? $this->_run_mod_handler('script_escape', true, $_tmp) : 
smarty_modifier_script_escape($_tmp)) )): ?>

この様なコードになっていました。

なぜこの様なエラーが出始めたのかも分からず、検索してもレベルの高い内容で分からず困っています。
素人の質問で大変恐縮ですが、対処方法などご教示頂けますと幸いです。
よろしくお願い致します。

yuh
投稿日時: 2019/3/8 11:01
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: エラー(in_array() expects parameter 2 to be array~)について教えてください。
そのエラーはSmartyのタグをPHPに変換するときに出るんですが、
そのファイルではなくて、
data/Smarty/templates/default/header.tpl
の方を確認してください。
多分
<!--{if in_array($child.category_id,tpl_category_id)}-->

のような部分があると思うので、
その部分を
<!--{if is_array($child.category_id) AND in_array($child.category_id,tpl_category_id)}-->

のように追記するとログは出なくなったような気がします。


----------------


http://ec-lab.net/

MINE
投稿日時: 2019/3/8 21:55
対応状況: −−−
新米
登録日: 2019/3/7
居住地:
投稿: 2
Re: エラー(in_array() expects parameter 2 to be array~)について教えてください。
yuh様

ご丁寧な回答ありがとうございます。
ご教示頂きましたパスにファイルがあり、仰る通り以下のソースがありました。
<!--{if in_array($child.category_id,tpl_category_id)}-->


ソースを見ると、下記の様になっており、合計2か所ありました。
<li class="level<!--{$child.level}--><!--{if in_array($child.category_id, $tpl_category_id)}--> onmark<!--{/if}-->">
 <p><a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list<!--{$child.category_id}-->/"<!--{if in_array($child.category_id, $tpl_category_id)}--> 
class="onlink"<!--{/if}-->><!--{$child.category_name|h}--></a></p> <!--{if in_array($child.category_id, $arrParentID)}--> <!--{assign var=disp_child value=1}--> 
<!--{else}-->


その為、2か所とも教えて頂いた通り
<li class="level<!--{$child.level}--><!--{if is_array($child.category_id) AND in_array($child.category_id,tpl_category_id)}--> onmark<!--{/if}-->">
 <p><a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list<!--{$child.category_id}-->/"<!--{if is_array($child.category_id) AND in_array($child.category_id,tpl_category_id)}--> 
class="onlink"<!--{/if}-->><!--{$child.category_name|h}--></a></p> <!--{if in_array($child.category_id, 
$arrParentID)}--> <!--{assign var=disp_child value=1}--> <!--{else}-->

この様に変更致してみました。
しかし、変更してからもエラーは出ている状態です。
ちなみに、ログを見ていると、同時間に大量に同じエラーが出たり、数分~数時間エラーが出なくなる時間もあります。
特になにも変更した記憶もないのですが、この様なエラーが急に出たりするものなんでしょうか?
数分~数時間エラーが出なくなると言うような動作は考えられるものなのでしょうか?(無知すぎて本当にすいません)


スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,303名です
総投稿数は109,692件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.