Sila beritahu saya tentang ralat kaedah Bukan statik dalam persekitaran PHP yang berbeza.
虎威
虎威 2018-03-27 11:27:47
0
2
4223
Kod berjalan seperti biasa di bawah

php5.2.17, tetapi ralat berlaku apabila

php5.4 dan ke atas.

Kod sumber adalah seperti berikut:

Entrance Gateway.php dokumen:

<?php memerlukan dirname(__FILE__) '/Command.php';

$d=$_POST['data'] ;

if (get_magic_quotes_gpc()){

$d=stripslashes($d);

}

$param = json_decode($d);

$ret = Command::call($param);


header('content-type:application:json;charset=utf8');

header('Access-Control-Allow-Origin:*');

header('Access-Control-Allow- Kaedah:POST' );

header('Access-Control-Allow-Headers:x-requested-with,content-type');

echo json_encode($ret);

?>


Commadn.php Dokumentasi:

<?php

memerlukan dirname(__FILE__) . '/service.inc.php';

class Command{

panggilan fungsi pulibik($params){. diri::callMethod (*********);

                                                                                                                                                                      ’’ {

        $result=call_user_func_array(Array($classStr,$funcStr),$params);


                                                                                          

$ret [ ] = 1;

          $ret[] = $hasil;                                                                                                                                                                                                                                                                                                                                                           hasil;

}

service.inc.php document

<?php

define("WG"__name __.__name_B" ");

if (isset($GLOBALS) ['includefiles'.__FILE__])){

return;

} else{

$GLOBALS['includefiles'.__

FILE'.__

function __autoload($class_name) {

} //Tentukan sama ada fail itu wujud

                                                                                            ' '.php';

} else if (strpos ($ class_name, "data")! == false) {

$ fileUrl = wg_server_base. $ Class_name. '. {

} memerlukan $fileUrl;

}

} _default_timezone_set('Etc/GMT-8') ;

}

Ralat dilaporkan dalam persekitaran PH 5.4 dan ke atas bagaimana untuk serasi dengan persekitaran PHP 5.2--5.6 tanpa ralat? ? ? , kod ralat:

Standard ketat: Kaedah bukan statik Perintah::call() tidak boleh dipanggil secara statik ***/Gateway.php pada talian 13

Standard ketat: call_user_func_array() menjangka parameter 1 menjadi kaedah panggil balik yang sah, bukan statik ******** tidak boleh dipanggil secara statik dalam *************

Amaran: Tidak boleh mengubah suai maklumat pengepala - pengepala sudah dihantar oleh (output bermula pada **********Command.php:62) dalam *************Gateway.php pada talian 16


虎威
虎威

membalas semua(1)
虎威

Soalan tambahan: Jika ia tidak serasi dengan 5.2--5.6, sila beritahu saya cara mengubah kod di atas yang boleh dijalankan secara normal dalam persekitaran 5.2 untuk boleh dilaksanakan dalam 5.4 atau ke atas?

  • balas $obj = Perintah baru; $obj-&gt;panggilan(); Cuba panggil seperti ini
    好人二狗 pengarang 2018-03-29 12:24:01
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan