BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- PHP Pear Login ! (http://www.black-board.net/thread.php?threadid=22991)


Geschrieben von ColdFire am 12.08.2007 um 13:13:

Achtung Pear Login !

Hy Leute!

Ich habe wieder einmal ein php problem. Ich "bastle" grade an einem loginsystem dazu verwende ich funktionen von pear.

Offline (Xampp)
Funktioniert alles so wie ich mit das vorstelle.
Online nicht.

Ich bekomme solche meldungen:
code:
1:
2:
3:
4:
Warning: main(DB.php): failed to open stream: 
No such file or directory in /bestellung/includes/connect.inc.php on line 8

Fatal error: main(): Failed opening required 'DB.php' (include_path='.:/usr/share/php:/usr/share/pear') in /bestellung/includes/connect.inc.php on line 8


Das weist doch drauf hin das der Pearpfad nicht verfügbar ist bzw mein require auf die DB.php nicht erfolgreich ist oder ?

connect.inc.php auf dem Inlcudesverzeichnis sieht so aus:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:

<?php
/*
CopyRight by © 2007 ICH 
*/

require_once 'DB.php'//-- PEAR::DB Klasse

//-- create DB connection
$db DB::Connect("mysql://User:PWD@localhost/buggy");
$db->setFetchMode(DB_FETCHMODE_ASSOC);


//-- ein fehler funktion die aufgerufen wird bei PEAR interner errors
function PEAR_error($var)
{
    // Ignoriere Fehler wo @ Zeichen davor stehen oder eben
    // die fehler veraltet ( PHP 4 ) sind
    if ((E_USER_ERROR error_reporting()) != E_USER_ERROR)
    {
        return false;
    }

    $error debug_backtrace();
    $error $error[9];

    $str_error  "Error No: " $var->getCode() . "\n";
    $str_error .= "Error file: " $error['file'] . "\n";
    $str_error .= "Error line: " $error['line'] . "\n";
    $str_error .= "Error Message: " $var->getMessage() . "\n";
    $str_error .= "Error details: " $var->getUserInfo() . "\n";
    $str_error .= "Error trace:\n\n" var_export($error['args'], true);

    ob_end_clean();
    echo nl2br($str_error);
    exit;
}

PEAR::setErrorHandling(PEAR_ERROR_CALLBACK'PEAR_error');


Wie kann ich jetzt in erfahrung bringen wie der korrekte pfad jetzt auf mein Pearverzeichnis ist. Das muss doch der Provider in seinem apache hinterlegen das man den überall aufrufen kann...?

Wie kann ich das einstellen bzw umgehen?

TIA ColdFire



Geschrieben von LX am 12.08.2007 um 13:41:

Achtung

Wenn's dir auf die paar Kilobyte, die die PEAR-Klassen wegnehmen, nicht ankommt, könntest du sie selbst irgendwo in deinem Verzeichnis ablegen und mittels ini_set() den Include-Path um dieses Verzeichnis ergänzen. Ansonsten kommst du nicht umhin, beim Provider anzufragen, ob und wo PEAR-Klassen installiert sind.



Geschrieben von ColdFire am 12.08.2007 um 13:55:

 

D.h. die zuweisungen müssen stimmen die ich gemacht habe oder ?


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH