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!
PEAR mit Lighty
-
Roger Wilco
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: PEAR mit Lighty
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?
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 listRe: PEAR mit Lighty
Guten Morgen,
die befehle ergaben folgendes:
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?
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 stablePEAR www files directory www_dir /usr/share/php/www
Soll ich dieses Dir in der php.ini als include eingeben?
Re: PEAR mit Lighty
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.
Re: PEAR mit Lighty
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.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.
Thread kann also geschlossen werden. :-D
Re: PEAR mit Lighty
Du gehst richtig. :)