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);」と入れて、エラー文を表示させた。それが上のエラー。あと何カ所か訂正したら真っ白でなくなった。
※スマートフォンとのテーマ切り替えのモジュールも動かなくなった。最初は上記のように何かプログラム的なエラーかと思っていたけど、ただ単に、スマートフォンのテーマ切り替え用モジュールが初期値になっているだけだった。
コメントを残す