**/ ?>

eval() のエラー

CMSimpleで プラグインを使用してると時々エラーに遭遇します 

cmsimple/functions.php(***) : eval()'d code ****

 大抵の場合、何らかの記述のミスです。 

遭遇したエラーの例と解決

WARNING: Missing argument 数字 for プラグイン名(), called in /****/cmsimple/functions.php(284) : eval()'d code on line 1 and defined

 原因:変数の数があってない・・
 フラグインのソースで

 function プラグイン名($val01,$val02) {

 を
{{{プラグイン名('aaa');}}} 

 

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting ')' in /****/cmsimple/functions.php(284) : eval()'d code on line 1

原因:プラグインに与える変数 の プラグイン名(”***”) や プラグイン名(’***’) の ”” や ’’ が合ってない

例 

{{{プラグイン名('xxx);}}}    ’xxx’ 

      :

 NOTICE: Use of undefined constant ’xxxxxxxxxx’ - assumed '’xxxxxxxxxx’' /****/cmsimple/functions.php(284) : eval()'d code:1

 原因:全角の ' が 使われている

 {{{プラグイン名(’aaa');}}}  全角の ' が 使われている 

   判りにくい場合があります

   ハマります!

  エディタにコピペすると良いかも

 

 Parse error: syntax error, unexpected '@' in /****/cmsimple/functions.php(284) : eval()'d code on line 1  

 私がハマったトラブル。evalに @ を渡せないのか? と本体を見直したりしましたが...結局

 原因 : 全角の ' が 使われている

  ハマりました

 

プラグインは {{{ と }}} で囲みますが、内部に ;  が無くても動作するようにされてるようです(いつ頃からのバージョンかは不明)