PEAR mit Lighty

Bash, Shell, PHP, Python, Perl, CGI
ruepel
Posts: 7
Joined: 2008-02-14 12:41

PEAR mit Lighty

Post by ruepel »

Moin,

also entweder bin ich total auf den Kopf gefallen oder irgendwas stimmt nicht. Hier mal kurz mein System:
vServer mit Debain Etch, PHP5, Lighttpd mit fastcgi und individuellen PHP.inis für die einzelnen Domains.

So, nun versuche ich über "require" die "DB.php" einzubinden was mit folgender Fehlermeldung scheitert:
Failed opening required 'DB.php' (include_path='.:/usr/share/php')

Dann habe ich mit "pear config-get php_dir" in der Konsole den Pear-Path überprüft und als Antwort bekomme ich "/usr/share/php"

Meiner Meinung nach müsste doch alles in Ordnung sein oder? Kann es am open_basedir liegen, was auf das Verzeichnis des Users beschränkt ist? Die Dateien im Verzeichnis /usr/share/php haben alle als Eigentümer und Gruppe "root" und sind mit 755 ausgestattet.

Bin ich einfach nur zu blöd? Habt vielen lieben Dank für eure Hilfe!
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53

Re: PEAR mit Lighty

Post by Roger Wilco »

Das hat mit dem lighttpd nichts zu tun. Der weiß nichts von PEAR oder sonstigem. PHP ist einfach ein Binary, welches das FastCGI-Protokoll unterstützt.

Welche Ausgaben liefern folgende Kommandos?

Code: Select all

# find /usr/share/php -name DB.php
# ls -ld /usr
# ls -ld /usr/share
# ls -ld /usr/share/php
# pear config-show
# pear list
ruepel
Posts: 7
Joined: 2008-02-14 12:41

Re: PEAR mit Lighty

Post by ruepel »

Guten Morgen,
die befehle ergaben folgendes:

Code: Select all

server:~# find /usr/share/php -name DB.php
/usr/share/php/DB.php

server:~# ls -ld /usr
drwxr-xr-x 11 root root 1024 Feb 11  2008 /usr

server:~# ls -ld /usr/share
drwxr-xr-x 112 root root 2048 Apr 10 21:15 /usr/share

server:~# ls -ld /usr/share/php
drwxr-xr-x 11 root root 1024 Apr 10 20:51 /usr/share/php

server:~# pear config-show
Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels     auto_discover    <not set>
Default Channel                default_channel  pear.php.net
HTTP Proxy Server Address      http_proxy       <not set>
PEAR server [DEPRECATED]       master_server    pear.php.net
Default Channel Mirror         preferred_mirror pear.php.net
Remote Configuration File      remote_config    <not set>
PEAR executables directory     bin_dir          /usr/bin
PEAR documentation directory   doc_dir          /usr/share/php/docs
PHP extension directory        ext_dir          /usr/lib/php5/20060613+lfs
PEAR directory                 php_dir          /usr/share/php
PEAR Installer cache directory cache_dir        /tmp/pear/cache
PEAR configuration file        cfg_dir          /usr/share/php/cfg
directory
PEAR data directory            data_dir         /usr/share/php/data
PEAR Installer download        download_dir     /tmp/pear/download
directory
PHP CLI/CGI binary             php_bin          /usr/bin/php
php.ini location               php_ini          <not set>
PEAR Installer temp directory  temp_dir         /tmp/pear/temp
PEAR test directory            test_dir         /usr/share/php/tests
PEAR www files directory       www_dir          /usr/share/php/www
Cache TimeToLive               cache_ttl        3600
Preferred Package State        preferred_state  stable
Unix file mask                 umask            22
Debug Log Level                verbose          1
PEAR password (for             password         <not set>
maintainers)
Signature Handling Program     sig_bin          /usr/bin/gpg
Signature Key Directory        sig_keydir       /usr/etc/pearkeys
Signature Key Id               sig_keyid        <not set>
Package Signature Type         sig_type         gpg
PEAR username (for             username         <not set>
maintainers)
User Configuration File        Filename         /root/.pearrc
System Configuration File      Filename         /usr/etc/pear.conf

server:~# pear list
Installed packages, channel pear.php.net:
=========================================
Package          Version State
Archive_Tar      1.3.2   stable
Console_Getopt   1.2.3   stable
DB               1.7.13  stable
PEAR             1.7.1   stable
Structures_Graph 1.0.2   stable
Also, eigentlich, was ich erwarten würde. Wobei ich mich frage, was folgende Config heißt:
PEAR www files directory www_dir /usr/share/php/www

Soll ich dieses Dir in der php.ini als include eingeben?
EdRoxter
Posts: 483
Joined: 2006-01-06 03:23
Location: Neben Bonn

Re: PEAR mit Lighty

Post by EdRoxter »

Das mit dem open_basedir ist absolut möglich. Das Problem hatte ich neulich auch schonmal. Ist ziemlich ätzend. /usr/share/php muss definitiv in open_basedir enthalten sein, sonst hagelt's Fehler.
ruepel
Posts: 7
Joined: 2008-02-14 12:41

Re: PEAR mit Lighty

Post by ruepel »

EdRoxter wrote:Das mit dem open_basedir ist absolut möglich. Das Problem hatte ich neulich auch schonmal. Ist ziemlich ätzend. /usr/share/php muss definitiv in open_basedir enthalten sein, sonst hagelt's Fehler.
Genau das war es! Danke für den Tipp--wusste gar nicht, dass es möglich ist open_basedir auf mehrere Verzeichnisse mit dem ":" dazwischen anzuwenden. whistle Wenn ich jetzt require_once ('DB.php') eingebe, meckert das Scipt nicht mehr rum, und wenn ich require richtig verstanden habe, dann sollte das Script abbrechen und eine Fehlermeldung ausspucken, wenn die Datei nicht gefunden werden konnte (E_All ist an). Deshalb gehe ich mal davon aus, dass es jetzt geht.

Thread kann also geschlossen werden. :-D
EdRoxter
Posts: 483
Joined: 2006-01-06 03:23
Location: Neben Bonn

Re: PEAR mit Lighty

Post by EdRoxter »

Du gehst richtig. :)