バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

その他 > バージョンアップ > 2.17.1 プラグインからの大量E_WARNINGの対策例

バージョンアップ

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kazz_oga
投稿日時: 2020/7/26 15:28
対応状況: 解決済
一人前
登録日: 2013/8/5
居住地: 東京都北区赤羽西
投稿: 144
2.17.1 プラグインからの大量E_WARNINGの対策例
▼テンプレート
[EC-CUBE] 2.17.1
[レンタルサーバ] ローカル環境
[OS] Mac10.15.5
[PHP] 7.4
[データベース] MySQL 5.7
[WEBサーバ] Apache 2.4
[ブラウザ] safari
[導入プラグインの有無] EC-CUBEペイメントモジュール(4.3.32)
2.17.1への移行でプラグインからE_WARNINGエラーがでる。このE_WARNINGを選んで出力しない対策をとった。

{現象]
・2.17.1のバージョンアップによりプラグインから大量のE_WARNINGがでるようになった。
・メッセージ内容およびテストにより、稼働には問題ないことも確認

[対策をとる要因]
・E_WARNINGが発生しないように修正をおこなった場合、つぎの問題がある
  - 修正による副作用の懸念
  - プラグインのバージョンアップ毎に同様の修正作業が必要
・大量のE_WARNINGをerror.logに出力させた場合の問題
  - 新たなドラブルが発生しても大量なE_WARNINGで見落としてしまう可能性がある
  - 不正なアタックの状況が大量なE_WARNINGで把握しにくくなる

[対策内容]
・容認したE_WARNINGについて、フィルタリングを行ってerror.logに出力しない
1) 出力先を指定する環境パラメータを設ける
<mtb_constants>
ID ERROR_EXCLUSION_LOG_REALFILE
name “/dev/null”
 ※管理機能>システム>パラメータ設定で登録作業要

2)GU_Utils.phpの改修
2)-1 出力しないメッセージの定義
// 出力しないE_WARNINGについてdefineで定義する
define('EXCLUSION_MSG',[
'Warning(E_WARNING): Declaration of LC_PageHelper_Mdl_PG_MULPAY_Token::initParam(&$objFormParam, &$arrPaymentInfo, &$arrOrder) should be compatible with LC_PageHelper_MDL_PG_MULPAY_Base::initParam(&$objFormParam, $arrPaymentInfo, &$arrOrder) on',
<途中省略>
'Warning(E_WARNING): Declaration of PgMulpayCore::install($arrPlugin) should be compatible with SC_Plugin_Base::install($arrPlugin, $objPluginInstaller = NULL) on',
'Warning(E_WARNING): array_key_exists() expects parameter 2 to be array, null given on'
]
);

2)-2フィルタ処理
//gfPrintlogのif(strlen($path) == 0)のifブロックの次でlog出力の$pathを再設定する
foreach( EXCLUSION_MSG as $target_str) {
   $check_result = strstr($msg,$target_str) ;
   if($check_result != FALSE) {
   $path = ERROR_EXCLUSION_LOG_REALFILE;
   break;
   };
}

ERROR_EXCLUSION_LOG_REALFILEの値で必要に応じて出力先を変えられるようにした
kazz_oga
投稿日時: 2020/7/29 17:03
対応状況: 解決済
一人前
登録日: 2013/8/5
居住地: 東京都北区赤羽西
投稿: 144
Re: 2.17.1 プラグインからの大量E_WARNINGの対策例
環境パラメータERROR_EXCLUSION_LOG_REALFILEが未定義の状態で対象のE_WARNINGが発生すると、へんなところにファイル名ERROR_EXCLUSION_LOG_REALFILEでログファイルが作られます。

手順としては
A案 管理機能>パラメータ設定でERROR_EXCLUSION_LOG_REALFILEを定義後、GU_Utils.phpを修正する
B案 GU_Utils.phpを修正、data/cache/mtb_constants.phpにdefine(ERROR_EXCLUSION_LOG_REALFILE)を追加を双方行った後に実行し、パラメタ〜設定を行う
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1569
9
mcontact
1279
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.