バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > その他 > プラグインインストール時に必ずエラーがでる

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
rijye
投稿日時: 2022/11/18 17:00
対応状況: −−−
常連
登録日: 2012/6/12
居住地: 三重県
投稿: 62
プラグインインストール時に必ずエラーがでる
▼テンプレート
[EC-CUBE] 2.17.2 新規インストール
[レンタルサーバ] さくらVPS
[OS] CentOS7
[PHP] 7.4.33
[データベース] PostgreSQL 9.2.24
[WEBサーバ] Apache/2.4.6
[ブラウザ] chrome
[カスタマイズの有無] なし
[現象]

いつもお世話になっております。
久しぶりにEC-CUBEを構築中なのですが、プラグインインストール時に必ず以下のエラーがでます。

Fatal error(E_COMPILE_ERROR): Cannot make static method SC_Plugin_Base::install() non static in class XXX on [/data/downloads/plugin/~(46)

どのプラグインを入れてもこうなるため、プラグインは伏せております。
現在ストアを見ますと、EC-CUBE 2.17.2に対応している無料のプラグインはありませんが、まあ2.17.1対応をうたっているものならできるかなと思い2・3試しましたが上記の通りでした。

なおエラーの該当行は
function install(){
の部分となります。

システム要件は2.13のを参照すればいいのかなと思っており、プラグイン必須モジュールであるxmlは導入済みです。

上記サーバー環境とは別で、さくらレンタルサーバーのクイックインストールで動かしているEC-CUBEも同様のエラーが出ます。

何卒よろしくお願いいたします。
mcontact
投稿日時: 2022/11/18 18:22
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1240
Re: プラグインインストール時に必ずエラーがでる
> システム要件は2.13のを参照すればいいのかなと思っており、プラグイン必須モジュールであるxmlは導入済みです。

EC-CUBE2.17のシステム要件であれば、下記サイトに記載されています。
https://www.ec-cube.net/developers/

ざっくり見た限りでは、要件を満たしていると思いますが、必須PHPライブラリは投稿内容に記載がないので確認してみてください。
rijye
投稿日時: 2022/11/21 9:41
対応状況: −−−
常連
登録日: 2012/6/12
居住地: 三重県
投稿: 62
Re: プラグインインストール時に必ずエラーがでる
返信ありがとうございます。
本日確認しましたが、必須・推奨ライブラリともに導入済みでした。
引き続きよろしくお願いいたします。
mcontact
投稿日時: 2022/11/21 10:49
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1240
Re: プラグインインストール時に必ずエラーがでる
何のプラグインをインストールしているか記載がないと各プラグインのエラー内容の記載がないので解りませんが、下記のあたりの投稿を参考にプラグインを修正するかプラグインの提供元に確認してみてください。

https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=26986&forum=2&post_id=106875#forumpost106875
rijye
投稿日時: 2022/11/21 15:03
対応状況: −−−
常連
登録日: 2012/6/12
居住地: 三重県
投稿: 62
Re: プラグインインストール時に必ずエラーがでる
ご返信ありがとうございます。
テスト導入をしたプラグインは下記の通りとなります。


「PostCarrier for EC-CUBE」メルマガ配信プラグイン
https://www.ec-cube.net/products/detail.php?product_id=262

Amazon Pay V2プラグイン(2.12、2.13、2.17系)
https://www.ec-cube.net/products/detail.php?product_id=2191

カテゴリページ独自レイアウト追加プラグイン for EC-CUBE2.13
https://www.ec-cube.net/products/detail.php?product_id=1501


最後のプラグインは2.13と謳っておりますので、エラーは出て当然かとは思われますが、記載頂いた参考記事の通り2.13と2.17ではPHP7の対応状況ぐらいだと思っておりましたので、インストールを試しました。

エラー内容は当初の投稿通りいずれも下記のとおりです。
Fatal error(E_COMPILE_ERROR): Cannot make static method SC_Plugin_Base::install() non static in class プラグイン名

動作を確認するためだけに導入いたしましたので、各提供会社に問い合わせるのもどうかと感じております。
EC-CUBE 2.17.2のクリーンインストール直後でプラグインの動作は確認できているのでしょうか。
今すぐ構築できるテスト環境がなく当方では今のところ確認することができませんが、現在構築環境はほとんどクリーンインストールに近い状態(デザインカスタマイズのみ)で、2つのEC-CUBEで同じエラーが出ております。

対応バージョンにて明確に2.17.2記載の無料プラグインがないため、何が原因かわからない状態です。
よろしくお願いいたします。
mcontact
投稿日時: 2022/11/21 16:11
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1240
Re: プラグインインストール時に必ずエラーがでる
> 動作を確認するためだけに導入いたしましたので、各提供会社に問い合わせるのもどうかと感じております。
> EC-CUBE 2.17.2のクリーンインストール直後でプラグインの動作は確認できているのでしょうか。
> 今すぐ構築できるテスト環境がなく当方では今のところ確認することができませんが、現在構築環境はほとんどクリーンインストールに近い状態(デザインカスタマイズのみ)で、2つのEC-CUBEで同じエラーが出ております。

EC-CUBE 2.17.2の確認ができているかのどうかは、プラグイン提供元にて動作を確認されていて、かつこのスレッドに現れない限りは回答を得られないと思います。
また、当方は導入したいプラグインの提供元ではないのでわかりません。

プラグイン提供元にお問い合わせをするのがもっとも早いと思います。
rijye
投稿日時: 2022/11/21 17:37
対応状況: −−−
常連
登録日: 2012/6/12
居住地: 三重県
投稿: 62
Re: プラグインインストール時に必ずエラーがでる
ご返信ありがとうございます。

私の言い方がわかりにくく申し訳ございません。
はっきり申し上げると確認したいのは、EC-CUBE2.17.2でプラグインが動作しているのか、自分の環境だけこのエラーが出ているのかといった確認です。
どのようなプラグインかは今のところ関係がありません。

試しに以下のような全く何もしないプラグインを用意しました。

class plugin_info{
    static $PLUGIN_CODE       = "RJsample";
    static $PLUGIN_NAME       = "導入サンプルプラグイン";
    static $PLUGIN_VERSION    = "1.0.0";
    static $COMPLIANT_VERSION = "2.17.2";
    static $AUTHOR            = "rijye";
    static $DESCRIPTION       = "インストールテスト用";
    static $CLASS_NAME       = "RJsample";
    static $LICENSE        = "LGPL";
}


class RJsample extends SC_Plugin_Base{

	public function __construct(array $arrSelfInfo){
		parent::__construct($arrSelfInfo);
	}

	function install($arrPlugin){}
	
	function uninstall($arrPlugin){}
	
	function enable($arrPlugin){}
	
	function disable($arrPlugin){}
}


以上の2ファイルで2.13にインストールは確認できましたが、
2つの2.17.2で同じ下記エラーです。

Fatal error(E_COMPILE_ERROR): Cannot make static method SC_Plugin_Base::install() non static in class RJsample on [/data/downloads/plugin/RJsample/RJsample.php(9)]

2.17ではプラグインの作り方が変わっておりますか?
過去のバージョンで自作プラグインは作った経験があります。

よろしくお願いいたします。
mcontact
投稿日時: 2022/11/21 20:41
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1240
Re: プラグインインストール時に必ずエラーがでる
> 今すぐ構築できるテスト環境がなく当方では今のところ確認することができませんが、現在構築環境はほとんどクリーンインストールに近い状態(デザインカスタマイズのみ)で、2つのEC-CUBEで同じエラーが出ております。

ec-cube2系のDockerファイルは下記のサイトにあるので、Dockerで構築すればすぐに構築できると思います。
https://github.com/EC-CUBE/ec-cube2
nanasess
投稿日時: 2022/11/22 16:26
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2303
Re: プラグインインストール時に必ずエラーがでる
2.17.2 で PHP8 に対応した関係で、古い構文がエラーになってしまいます。
https://github.com/EC-CUBE/ec-cube2/issues/551

以下のように static を付与すれば動くと思います


class RJsample extends SC_Plugin_Base{

	public function __construct(array $arrSelfInfo){
		parent::__construct($arrSelfInfo);
	}

	public static function install($arrPlugin, $objPluginInstaller = null){}
	
	public static function uninstall($arrPlugin, $objPluginInstaller = null){}
	
	public static function enable($arrPlugin, $objPluginInstaller = null){}
	
	public static function disable($arrPlugin, $objPluginInstaller = null){}
}



rijye
投稿日時: 2022/11/22 17:09
対応状況: 解決済
常連
登録日: 2012/6/12
居住地: 三重県
投稿: 62
Re: プラグインインストール時に必ずエラーがでる
ご返信ありがとうございます。

頂いたサンプルコードで動作させることができました!
大変助かりました。

私もstaticを付与してみたりしたのですが、恥ずかしい話staticをつける場所を間違っておりハマっておりました。


既存のほとんどのプラグインはこの修正が必要ですかね。
呼び出し側でも改善できるような記事は見かけたのですが、呼び出し側の処理がちょっとまだ理解できていません。

頑張ってやりたいと思います。
ありがとうございました。

一応解決済みに変更いたします。
呼び出し側(元?)で改善できるようであればまた追記したいと思います。



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


 



ログイン


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

統計情報

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

投稿数ランキング

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.