Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Apache, Lighttpd, nginx, Cherokee
bluelagoon
Posts: 15
Joined: 2007-02-26 09:16

Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by bluelagoon » 2007-02-26 10:29

Hallo Forum,

Ich habe auf einem neuen Server
pear installiert und mit
"pear install db" das DB-package nachinstalliert.

Ich hab den Apache restartet und updatedb gemacht, und mit Locate DB.php wird auch die DB.php gefunden in /usr/share/php/DB.php

Wenn ich allerdings eine Datei habe, die
require_once 'DB.php'; macht, kommt immer die Fehlermeldung

"Fatal error: main() [function.require]: Failed opening required '/usr/share/php/DB.php' (include_path='.:/usr/share/php:/usr/share/pear') in /pfad/des/scripts//datei.php on line 5"

Also, da kann ich mir jetzt echt nicht wieterhelfen. Er sagt ja selbst das er die Datei in /usr/share/php/ nicht finden kann, allerdings finde ich sie ja genau dort mit locate.

Ich bin offiziell verzweifelt. HAt einer eine Lösung?

Danke. :-(

miker
Posts: 64
Joined: 2005-03-26 13:33
Location: Wildeshausen

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by miker » 2007-02-26 12:25

Darf PHP die Datei lesen?

bluelagoon
Posts: 15
Joined: 2007-02-26 09:16

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by bluelagoon » 2007-02-26 12:39

Hi Mike,

also, owner/group is root, und chmod ist 100644 .. könnte das falsch sein?

Gruss
Micha

kase
Posts: 1031
Joined: 2002-10-14 22:56

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by kase » 2007-02-26 14:21

Bitte nicht 2 Threads für ein Problem "missbrauchen", entweder du machst einen neuen auf, oder du nutzt die Suchfunktion und hängst dein Problem in dem anderen Thread dran.

Querverweis: http://www.rootforum.org/forum/viewtop ... 543#280543

bluelagoon
Posts: 15
Joined: 2007-02-26 09:16

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by bluelagoon » 2007-02-26 14:43

Entschuldigung. Hast Recht. Ich hatte den ersten ja gesehen, und auch reingeschrieben, danach bemerkt, das der Thread ja ein [Erledigt] im Subject hatte, und da dachte ich, da schaut dann keiner mehr rein.
Deshalb dann das 2. Posting.

Sorry, kommt nicht mehr vor.

kase
Posts: 1031
Joined: 2002-10-14 22:56

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by kase » 2007-02-26 14:56

Versuch mal Pear-Info zu includen und dir anzeigen zu lassen:

Code: Select all

require_once "PEAR/Info.php";
$info = new PEAR_Info();
$info->show();
Eventuell den Pfad im require_once anpassen oder ganz weglassen.

bluelagoon
Posts: 15
Joined: 2007-02-26 09:16

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by bluelagoon » 2007-02-26 16:13

Also, da kommt der gleiche Fehler:
Warning: main(Info.php) [function.main]: failed to open stream: No such file or directory in /var/www/webs/test.php on line 3
Fatal error: main() [function.require]: Failed opening required 'Info.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/webs/test.php on line 3
Die INFO.php fehlt allerdings, kann er nicht finden, is auch nicht da.
Vielleicht sollte ich mal alle PAckages installieren, die es so gibt, vielleicht hilft das, vielleicht ist irgendwo eine Abhängigkeit

Die phpinfo() ergibt als include_path

.:/usr/share/php:/usr/share/pear

Da ist die auch drin, die DB.php (/usr/share/php/DB.php) ...
grübel ..

Ich teste jetzt mal etwas mit den Eigentümern von Pear

kase
Posts: 1031
Joined: 2002-10-14 22:56

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by kase » 2007-02-26 16:25

Hast du mal probiert den vollen Pfad anzugeben?

require_once '/usr/share/php/DB.php';

Bin mir nicht sicher, in wieweit das funktioniert, evtl hast du mit dem vollen Pfad Probleme mit dem open_basedir, aber ein Versuch ist es sicher wert.

bluelagoon
Posts: 15
Joined: 2007-02-26 09:16

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by bluelagoon » 2007-02-26 16:38

Hi kase,

was interessantes passiert, wenn ich in der php.ini den Safemode off stelle,

dann kommen die fehler nicht mehr, aber die seite bleibt gänzlich weiss ;)

Das mit dem Pfad probiere ich mal.

Hab übrigens gesehen, das die open_basedir - direktive leer und auskommentiert ist in der php.ini, auf nem anderen server, wo die DB.php funzt ist sie das allerdings auch.

bluelagoon
Posts: 15
Joined: 2007-02-26 09:16

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by bluelagoon » 2007-02-26 16:50

ok, es ist der safe_mode.

wenn ich denn ausstelle, funktioniert alles :/

Bleibt mir jetzt nur noch nachzudenken, welche nachteile mich erwarten, wenn safe_mode aus ist.

kase
Posts: 1031
Joined: 2002-10-14 22:56

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by kase » 2007-02-26 17:09

1. open_basedir solltest du schon setzen, es erhöht die Sicherheit. Setze es mindestens auf dein DocumentRoot, vielleicht kannst du es sogar noch weiter einschränken.

2. Zu deinem eigentlichen Problem:

Code: Select all

safe_mode_include_dir="/usr/share/php:/usr/share/pear"
im vHost Teil deiner http.conf setzen.

bluelagoon
Posts: 15
Joined: 2007-02-26 09:16

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by bluelagoon » 2007-02-26 17:16

Vielen Dank für deine Geduld und Deine Hilfe, werde deine beiden letzten Tipps noch umsetzen, und dann läufts endlich zufriedenstellend.

Hat lange gedauert, aber nun läufts!

VIELEN DANK! :-)

kase
Posts: 1031
Joined: 2002-10-14 22:56

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by kase » 2007-02-26 19:42

2. bringt natürlich nur was, wenn du den Safe-mode wieder aktivierst :)

bluelagoon
Posts: 15
Joined: 2007-02-26 09:16

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by bluelagoon » 2007-02-26 20:04

Ich hab mir gerade sagen lassen, das der Safemode auf Single-User-Systemen nicht wirklich so wichtig ist, ebenso die open_basadir-direktive.

Man sagte mir, wenn kein andere meinen Server nutzt ausser mir, kann ich den Safemode getrost auslassen.

Siehste das auch so?

kase
Posts: 1031
Joined: 2002-10-14 22:56

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by kase » 2007-02-26 20:18

Hast du denn einmal probiert, ob es mit 2. auch mit safe-mode funktioniert? Falls ja, was spricht denn dagegen, den safe-mode an zu lassen?

Zu deiner Frage:

Nein :)

Es ist sicherlich auf einem Single-User nicht ganz so wichtig, wie wenn du Webspace anbietest.

Allerdings bringt es, egal auf welchem System, eine erhöhte Sicherheit. Ob der User nun in seinem open_basedir gefangen ist, oder nicht, kann bei einem Script mit Sicherheitslücke entscheiden, ob der "Hacker" nur deine Website verändern kann, oder dein ganzes System. Gleiches gilt auch für den Safe-Mode, nur eine "Ebene komplexer".

Wenn du kritische (anfällige) PHP-Software installierst (phpbb, phpnuke, usw), solltest du auf jeden Fall beides setzen/aktivieren.

bluelagoon
Posts: 15
Joined: 2007-02-26 09:16

Re: Pear: php findet die DB.php nicht, obwohl ich sie an genau der stelle mit Locate finde

Post by bluelagoon » 2007-02-26 20:21

ah, ok. Nein ich setze zu 95% eigene PHP-Scripte ein, und da arbeite ich nur mit den gängigsten Befehlen, nix komplexes.
Einfach aber für mich durchaus zufriedenstellend.

Das einzige was extern drauf ist ist ein VBulletin in der aktuellsten Version.