WEBサイト作成時に発生するエラーやトラブル対応の備忘録を中心に、いろいろと書いております。


Strict standards: Declaration of XCube_ServiceClient::call() should be compatible with XCube_AbstractServiceClient::call() in core/XCube_Service.class.php on line 205

PHP5.6からPHP7.4にXOOPSを移行させる準備を一応しておこうと思って、Localに環境を構築中。
上記のようなエラーが出て直らない…。

Strict standards: Declaration of XCube_ServiceClient::call() should be compatible with XCube_AbstractServiceClient::call() in

のclass名が同じ。

Strict Standards: Declaration of ‘ ‘ should be compatible with ‘ ‘

というページを日本語翻訳して読んでいると、

(元の言語)
You are receiving this error because WC_Gateway_BACS::process_payment() declaration is different than WC_Payment_Gateway::process_payment() (might be not the same amount of parameters etc).

(日本語訳)
WC_Gateway_BACS::process_payment() の宣言が WC_Payment_Gateway::process_payment()と異なるため、このエラーが発生します(パラメーターの量が異なるなど)。

とあったので、元のスクリプトを見てみることに

まずは「XCube_ServiceClient::call()」

core/XCube_Service.class.phpのL175

class XCube_ServiceClient extends XCube_AbstractServiceClient
{
	function call($operation, $params)
	{

次に「XCube_AbstractServiceClient::call() 」

core/XCube_Service.class.phpのL47

	function call()
	{
	}

確かにパラメーターの量が異なります!
ためしに後者に($operation, $params)と入れてみると、エラーは消えました。
ただ、それが合っているかどうかは別ですので。

※最初XOOPSをテスト環境に入れると真っ白だった。そのため、mainfile.phpに「define(‘OH_MY_GOD_HELP_ME’, true);」と入れて、エラー文を表示させた。それが上のエラー。あと何カ所か訂正したら真っ白でなくなった。
※スマートフォンとのテーマ切り替えのモジュールも動かなくなった。最初は上記のように何かプログラム的なエラーかと思っていたけど、ただ単に、スマートフォンのテーマ切り替え用モジュールが初期値になっているだけだった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください