[PHP] Cannot instantiate non-existent class

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een website geupload, die het op mijn eigen apache2 server (met PHP5) perfect doet.
Als ik hem echter upload krijg ik de volgende fout:

Cannot instantiate non-existent class

De server heeft geen PHP5, maar dit moet niet uitmaken, omdat ik geen nieuwe manieren voor classes heb gebruikt en de desbetreffende class eerder werkte op een andere server met een lagere versie dan PHP5.

Als ik ga googlen of iets kom ik er veel over tegen, maar geen duidelijk antwoord.
Iemand een oplossing?

Bij voorbaat dank

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

Letterlijk vertaald: er kan geen instantie aangemaakt worden van een class welke niet bestaat. Meer zinnigs is er niet te zeggen zonder enige relevante source code of aanwijzingen dat die class uberhaupt goed aangesproken kan worden.

Verder geldt: PHP4 != PHP5; als iets werkt in PHP5 wil dat niet zeggen dat het goed zit in PHP4, ook al maak je niet gebruik van nieuwe mogelijkheden.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
... en de desbetreffende class eerder werkte op een andere server met een lagere versie dan PHP5.
= A.K.A. PHP 4

Dat er geen instantie gemakt kan worden begrijp ik, maar hij word geinclude en de naamgeving etc. klopt.

Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Blijkbaar niet dus.

Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Voeg eens error_reporting(E_ALL); toe boven aan. Mischien krijg je dan wat meer info.

Verder heb je ook de methode class_exists() om te controleren of een class wel of niet bestaat. Probeer anders een het bestandje waarin de class zelf staat direct te openen. Dan zie je gelijk of er errors in zitten etc.

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

Verwijderd

Verder lijkt het me wel handig om thuis met dezelfde php versie te werken als waar je pagina gehost word...

Acties:
  • 0 Henk 'm!

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 27-08 09:44
http://nl.php.net/manual/nl/function.class-exists.php
http://nl.php.net/manual/....get-declared-classes.php

Je zou die functies kunnen gebruiken om te kijken of de klasse wel bestaat. In php5 zijn er nieuwe regels voor klassen, bijvoorbeeld het keyword var dient vervangen te worden door public/private/protected. Zoiets kan misschien ook voor problemen zorgen, als zou er dan wel een foutmelding op je scherm moeten verschijnen.

Acties:
  • 0 Henk 'm!

Verwijderd

Als ik me niet vergis hoort er in de foutmelding echt wel bij te komen staan welke klasse er niet geïnstantieerd kan worden. Als in:
Cannot instantiate non-existent class myclass1
Je code probeert dus blijkbaar een klasse zonder naam te instantiëren...? :?
Pagina: 1