[php] undefined class

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 03-03 16:30
Ik heb een probleem met adodb 4.9.3 i.c.m PHP 4.4.2.
Thuis werkt dit perfect maar bij hosting provider krijg ik de volgende fout:
"Fatal error: Class adorecordset: Cannot inherit from undefined class adodb_base_rs in "

Het enige dat ik kan vinden op internet is dat de het include path verkeerd staat, deze heb ik gecontroleerd en staat goed. (ook '.' er bij).

Wie kan mij helpen met dit probleem, krijg ook echt alleen deze error.

Acties:
  • 0 Henk 'm!

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05 09:40

GX

Nee.

De '.' path is irrelevant; je moet het complete pad naar de files gewoon gebruiken. Los daarvan kan je gewoon beter zeker zijn dat je je files include (denk aan require() en require_once()), het liefst altijd met volledige paden.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13-06 14:24

Janoz

Moderator Devschuur®

!litemod

Die foutmelding lijkt me redelijk duidelijk. Hij kan de class adodb_base_rs niet vinden. Include je de verschillende adodb bestanden wel?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 03-03 16:30
Janoz schreef op dinsdag 07 november 2006 @ 20:31:
Die foutmelding lijkt me redelijk duidelijk. Hij kan de class adodb_base_rs niet vinden. Include je de verschillende adodb bestanden wel?
Ondanks heldere foutmelding is het probleem toch niet zo helder, het moet zitten in een configuratie optie zitten. (thuis werkt het wel en bij hosting provider niet). Het gaat om de 3th party library http://adodb.sourceforge.net/

Het gaat hier om een interne include binnen de library die fout gaat :S

[ Voor 7% gewijzigd door Ybox op 07-11-2006 20:38 ]


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 12-06 21:15

MueR

Admin Tweakers Discord

is niet lief

Misschien een file waarvan de rechten niet goed staan ofzo? Thuis maak je waarschijnlijk gebruik van Windows. Linux is niet zo allesvergevend wbt userrechten

[ Voor 45% gewijzigd door MueR op 07-11-2006 23:28 ]

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13-06 14:24

Janoz

Moderator Devschuur®

!litemod

Ik heb eens naar die adodb gekeken en daar kwam ik het volgende tegen:
PHP:
1
2
3
4
5
6
7
8
9
    if (PHP_VERSION < 5) include_once(ADODB_DIR.'/adodb-php4.inc.php');
    else include_once(ADODB_DIR.'/adodb-iterator.inc.php');
   /**
     * RecordSet class that represents the dataset returned by the database.
     * To keep memory overhead low, this class holds only the current row in memory.
     * No prefetching of data is done, so the RecordCount() can return -1 ( which
     * means recordcount not known).
     */
    class ADORecordSet extends ADODB_BASE_RS {

Hier wordt iig het bestand geinclude waarin ADODB_BASE_RS staat. Zoek ik vervolgens terug naar waar ADODB_DIR wordt geinitialiseerd dan zie ik dat helemaal bovenin:
PHP:
1
    if (!defined('ADODB_DIR')) define('ADODB_DIR',dirname(__FILE__));


De reden dat dit nodig is, is omdat ze bij php voor het meest ridicule 'werk directory is altijd de directory van het eerst angeroepen script' hebben gekozen ipv 'werkdirectory is de directory waar het huidige stuk script staat'.

Ik vermoed dat er iets fout gaat met die constante, voor het analyseren lijkt het me dan ook handig om deze eens af te drukken om te kijken of hier daadwerkelijk ook de juiste directory uit komt.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 03-03 16:30
MueR schreef op dinsdag 07 november 2006 @ 23:28:
Misschien een file waarvan de rechten niet goed staan ofzo? Thuis maak je waarschijnlijk gebruik van Windows. Linux is niet zo allesvergevend wbt userrechten
Thuis staat het ook netjes op een linux bak, het zou kunnen zijn dat de rechten van in de overdracht niet helemaal goed gezet zijn. Controleer het vanavond ff.
Janoz schreef op woensdag 08 november 2006 @ 08:49:
[knip]

De reden dat dit nodig is, is omdat ze bij php voor het meest ridicule 'werk directory is altijd de directory van het eerst angeroepen script' hebben gekozen ipv 'werkdirectory is de directory waar het huidige stuk script staat'.

Ik vermoed dat er iets fout gaat met die constante, voor het analyseren lijkt het me dan ook handig om deze eens af te drukken om te kijken of hier daadwerkelijk ook de juiste directory uit komt.
Bedankt dat je even hebt gekeken in de source.. Zelf heb ik hiermee ook lopen pielen (include fout dus daar begin je een beetje). De constante bevat het complete path dus dat is opzich goed, zelfs na het handmatig setten van die include gaat het niet goed. Handmatig heb ik het complete path & foute korte versie gebruikt beide werken niet.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11-06 00:38

NMe

Quia Ego Sic Dico.

Als je een configuratieoptie verdenkt, waarom post je dan in een programmeerforum? ;) Waar hoort mijn topic?

PRG>>DTE

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Ybox
  • Registratie: Juni 2000
  • Laatst online: 03-03 16:30
-NMe- schreef op woensdag 08 november 2006 @ 09:38:
Als je een configuratieoptie verdenkt, waarom post je dan in een programmeerforum? ;) Waar hoort mijn topic?

PRG>>DTE
Erg wazig versie 4.9.3a werkt weer wel :S
Pagina: 1