その他 > バージョンアップ > 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の値で必要に応じて出力先を変えられるようにした |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» 2.17.1 プラグインからの大量E_WARNINGの対策例 | kazz_oga | 2020/7/26 15:28 |
Re: 2.17.1 プラグインからの大量E_WARNINGの対策例 | kazz_oga | 2020/7/29 17:03 |