Pereiti prie turinio

Problemos su: Call to a member function on a non-object


Rekomenduojami pranešimai

Jau antra diena niekaip nepavyksta išsiaiškinti kame yra problema. Naudojamas IPB forumas ir instaliuojant kokį nors modą pagal instrukcijas visas pastoviai metą klaidą:

 

Fatal error: Call to a member function on a non-object

 

Klaida visada ta pati skiriasi tik priklausomai nuo to kokią modifikaciją buvo bandyti instaliuoti. Gal tokią klaidą gali kelti tam tikri netinkami php.ini nustatymai? Nes pati modifikaciją yra tikrai gera, bandyta kiek anksčiau ant kito serverio ir veikė be problemų, o dabar visos naujos modifikacijos po instaliacijos atsisako veikti.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jau antra diena niekaip nepavyksta išsiaiškinti kame yra problema. Naudojamas IPB forumas ir instaliuojant kokį nors modą pagal instrukcijas visas pastoviai metą klaidą:

 

Fatal error: Call to a member function on a non-object

 

Klaida visada ta pati skiriasi tik priklausomai nuo to kokią modifikaciją buvo bandyti instaliuoti. Gal tokią klaidą gali kelti tam tikri netinkami php.ini nustatymai? Nes pati modifikaciją yra tikrai gera, bandyta kiek anksčiau ant kito serverio ir veikė be problemų, o dabar visos naujos modifikacijos po instaliacijos atsisako veikti.

 

Ši klaida būna metama dažniausiai dėl programuotojo žioplumo, pvz pamirštama iškviesti kokia funkcija, kuri gražina objektą ir panašiai.

 

Bandyčiau testuoti kodą naudojantis is_object() funkcija, kad matytųsi ar variable tikrai yra objektas, pvz.:

function get_students($obj)
{
   if (!is_object($obj)) {
       echo 'Ne objektas';
       return false;
   }
   return $obj->param;
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kažkur matyt yra toks kodas - $objektas->metodas(), o pats $objektas kintamasis greičiausiai yra "false" arba "null", nes aukščiau esančiam kode nepavyko sukurti objekto. Įsijunk visų klaidų loginimą - "error_reporting(E_ALL);" ir peržiūrėk logus, turėtu parodyti kodėl failina objekto sukūrimas.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na aš sutikčiau su tuo kad gal programutojas įvėlė kažką jei ankščiau tas pats modulis nebūtu veikęs...

O čia ir yra visas galimas klaidos pranešimas iškirpau tik kelią iki failo ir funkcijos pavadinimą.

 

Šiaip ar taip, ši klaida gali būti metama tik dėl vienos priežasties - bandoma su variable elgtis kaip su objektu kviečiant metodą OO būdu, kai variable nėra objektas.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

O dėl trūkstamų arba netinkamai užuploadinto failo gali būti taip?

 

Nesu dėl to tikras, bet tikriausiai galėtų, nors mano manymu prieš tai išmestų kokį nors kitą error, jog nerastas failas/implementation ar kaškas pan.

 

O šiaip nenorėtum bent dalį kodo, dėl kurio yra metama ši klaida duoti? Arba truputi smulkiau paaiškinti situaciją, nes tik žinant error msg nelabai ką galima pasakyti, nebent kas sukėlė šį error.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na aš sutikčiau su tuo kad gal programutojas įvėlė kažką jei ankščiau tas pats modulis nebūtu veikęs...

O čia ir yra visas galimas klaidos pranešimas iškirpau tik kelią iki failo ir funkcijos pavadinimą.

 

Ner ko nesutikt. Pasikeitus aplinkai, variantas kad kazkoks objektas nebesukuriamas. Del prasto programavimo matyt nepatikrinama ar kurimas pasiseke ar ne, ir tiesiog bandoma kreiptis i ta objekta. Tiesiog teks atsekti kuris objektas ir del ko nesukuriamas.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...