質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

Q&A

解決済

4回答

2740閲覧

EC-CUBE2.13.2 でサイトの各所に「Notice: Undefined XXX」が表示され非表示にできない

osyu

総合スコア9

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

1グッド

2クリップ

投稿2020/07/20 09:56

お世話になります。
クライアント様の古いEC-CUBE(Ver.2.13.2)のエラー取り除きを対応しており、
以下の状況で困っております。どうかご助言いただければ嬉しいです。

状況

サイトの各ページ上部に、以下のようなNotice文が表示され、非表示にすることができません。

html

1■トップページ 2Notice: Undefined index: RightNavi in /[EC-CUBE]/data/class/helper/SC_Helper_PageLayout.php on line 383 3Notice: Undefined index: order_id in /[EC-CUBE]/data/class/helper/SC_Helper_Purchase.php on line 1433 4Notice: Undefined property: LC_Page_Index_Ex::$tpl_page_class_name in /[EC-CUBE]/data/class/pages/LC_Page.php on line 148 5 6■商品カテゴリページ 7Notice: Undefined index: RightNavi in /[EC-CUBE]/data/class/helper/SC_Helper_PageLayout.php on line 383 8Notice: Undefined index: order_id in /[EC-CUBE]/data/class/helper/SC_Helper_Purchase.php on line 1433 9Notice: Undefined offset: 0 in /[EC-CUBE]/data/class/helper/SC_Helper_Maker.php on line 49 10Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 11Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 12Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 13Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 14Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 15Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 16Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 17Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 18Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 19Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 20Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 21Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 22Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 23Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 24Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 25Notice: Undefined variable: js_fnOnLoad in /[EC-CUBE]/data/class/pages/products/LC_Page_Products_List.php on line 539 26Notice: Undefined property: LC_Page_Products_List_Ex::$tpl_page_class_name in /[EC-CUBE]/data/class/pages/LC_Page.php on line 148 27 28■商品詳細ページ 29Notice: Undefined index: RightNavi in /[EC-CUBE]/data/class/helper/SC_Helper_PageLayout.php on line 383 30Notice: Undefined index: order_id in /[EC-CUBE]/data/class/helper/SC_Helper_Purchase.php on line 1433 31Notice: Undefined variable: classcat_id1 in /[EC-CUBE]/data/class/SC_Product.php on line 291 32Notice: Undefined index: sub_image1 in /[EC-CUBE]/data/class/pages/products/LC_Page_Products_Detail.php on line 463 33Notice: Undefined index: sub_image2 in /[EC-CUBE]/data/class/pages/products/LC_Page_Products_Detail.php on line 463 34Notice: Undefined index: sub_image3 in /[EC-CUBE]/data/class/pages/products/LC_Page_Products_Detail.php on line 463 35Notice: Undefined index: sub_image4 in /[EC-CUBE]/data/class/pages/products/LC_Page_Products_Detail.php on line 463 36Notice: Undefined index: sub_image5 in /[EC-CUBE]/data/class/pages/products/LC_Page_Products_Detail.php on line 463 37Notice: Undefined property: LC_Page_Products_Detail_Ex::$tpl_page_class_name in /[EC-CUBE]/data/class/pages/LC_Page.php on line 148

環境

サーバー:ラピッドサイトVPS(VPS-M1G)
OS:CentOS release 4.9(Final)
※SSHでルートユーザーでの操作可能です。

EC-CUBEの環境
イメージ説明

対応

諸所で原因を探し、よくある対応としてphp.ini に error_reporting でNotice以外のエラーを表示させる対応

php

1error_reporting = E_ALL & ~E_NOTICE

の表記を追加 → 表示は消えず

.htaccessに

html

1php_flag display_errors off 2php_value error_reporting 6135

の表記を追加 → 表示は消えず

その他、php.iniの場所が間違っているのか?httpd.confに追加してみては?等も対応しましたが、未だ表示が変わらずの状態です。

気になる箇所

ルートディレクトリにphpinfo()のPHPファイルを置き、PHPの設定情報を確認したところ、

Configuration File (php.ini) Path /usr/local/php5.3/lib
Loaded Configuration File /usr/local/php5.3/lib/php.ini
イメージ説明

▲こちらの内容と、

EC-CUBEの管理画面 システム情報で表示されるPHP情報

Configuration File (php.ini) Path /usr/local/php5.3/lib
Loaded Configuration File /usr/local/php5.3/lib/php.ini
イメージ説明

error_reporting の値が違うものになっているのが気になるところですが、
これが原因かも不明です。またどこで設定されているのかも分からず、途方に暮れてしまっています。

なにかご助言いただけましたら、幸いです。他に必要な情報があればお知らせください。
どうぞ宜しくお願い致します。

minhnguyen👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

javahack

2020/07/20 11:34

根本的な原因を取り除くというのは無しですか?
osyu

2020/07/20 11:59

コメントありがとうございます。 はい、もちろん根本的な原因を取り除く方法でも何か助言いただければ嬉しいです。よろしくお願いいたします。
yuki84web

2020/07/20 14:03

EC-CUBEのディレクトリにphp.iniがあって、それが設定を上書きしているということはないでしょうか
javahack

2020/07/20 14:25

メッセージにはっきりと問題の箇所と内容が書かれているので、それに応じた対処するだけかと。 とりあえず検索で見つかった対処方法を回答として置いておきます。
guest

回答4

0

ソフトウェアのバージョンが古くて危険すぎる状態です。

CentOS4.9と書いてあるのでぎょっとしましたが、おそらくCentOS6ですよね。しかし、ApacheやPHPのバージョンがCentOS6の標準パッケージとは異なり、しかもApacheが2.2ですらなく2.0というのが謎な感じのインストールです。CentOSの標準パッケージのものであれば、かろうじてサポートが生きていますが、独自インストールのものなのでパッチもあたっていないでしょう。極めて危険な状態と言わざるを得ません。

また、EC-CUEBEもVer 2系統自体はサポートが有効ですが、最新版は2.17.1です。2.13.2には以下の脆弱性(XSS, CSRF)が発見されています。

脆弱性リスト | ECサイト構築・リニューアルは「ECオープンプラットフォームEC-CUBE」

ということで、サーバーOSのサポート切れも間近なことですし、CentOS8の環境を新たに構築して、EC-CUBE 2.17.1を導入するのが現実的なところかと思います。

投稿2020/07/21 00:09

ockeghem

総合スコア11705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

osyu

2020/07/21 00:27

コメントありがとうございます。環境の古さには私もびっくりしています。 一旦、本件を対処した後、バージョンアップ等を打診する予定です。ありがとうございます。
guest

0

諸々の解決策コメントありがとうございました。
本件を一旦対処後、古い環境のご指摘がありましたので、バージョンアップの検討を行います。

本件に関しては、該当するphpファイルの上部に

php

1error_reporting(0);

を挿入することで、ひとまずerror_reportingの非表示で対処致しました。
ありがとうございました。

投稿2020/07/21 00:30

osyu

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

EC-CUBEのアップグレードは検討事項にないのでしょうか。
「もともと出てなかったのに出た」のであればPHPのバージョンアップなどが考えられないこともないです(配列のチェックの優先度が変わったりしたから)
であれば、現在のPHPのバージョンに対応したシステムに切り替えるのが最も確実で、安全かと思いますが、如何でしょうか。
一般的なUndefined indexの対策をしたところで、システムが以前と同じように動作する保証はありません。

投稿2020/07/20 21:19

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

osyu

2020/07/21 00:28

コメントありがとうございます。 一旦、本件を対策後にアップグレード等、環境の最新化を打診する予定です。ありがとうございます。
guest

0

ベストアンサー

検索で引っかかった対処方法をいくつか。
Notice: Undefined index
Notice: Undefined indexエラーの原因と解決方法
Notice: Undefined variable
Notice: Undefined variable:
Notice: Undefined offset
【PHP】Notice: Undefined offset: エラーの原因と対処方法/安全な回避方法

投稿2020/07/20 14:22

javahack

総合スコア1088

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問