frankx: zentralen include pfad für mehrere Vhosts

Beitrag lesen

Hellihello

auf einem virtuellen Server sind die Vhosts standardmäßig mit Plesk eingerichtet. Daran möchte ich eigentlich nicht rumfuhrwerkeln.

Ich versuche nun require_once("PEAR.php") und erhalte:

Warning: require_once(PEAR.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/vhosts/example.de/httpdocs/tests/include_path_test.php on line 4

Fatal error: require_once() [function.require]: Failed opening required 'PEAR.php' (include_path='.:/usr/share/php:/usr/share/psa-horde/pear') in /var/www/vhosts/example.de/httpdocs/tests/include_path_test.php on line 4

Die Datei PEAR ist aber enthalten in "/usr/share/psa-horde/pear" mit rw-r--r--.

Ausschnitte aus der vhosts:

<VirtualHost 85.214.55.230:80>
 ServerName   example.de:80
 ServerAlias  www.example.de
 UseCanonicalName Off
 SuexecUserGroup         example psacln
 DocumentRoot /var/www/vhosts/example.de/httpdocs

<IfModule mod_ssl.c>
  SSLEngine off
 </IfModule>
 <Directory /var/www/vhosts/example.de/httpdocs>
 <IfModule mod_php5.c>
  php_admin_flag engine on
  php_admin_value open_basedir "/var/www/vhosts/example.de/httpdocs:/tmp"
 </IfModule>
  Options +Includes +ExecCGI
 </Directory>
</VirtualHost>

Wenn ich jetzt eine Datei in /tmp lege, das ist ja durch die open_basedir-direktive freigegeben, erhalte ich dann folgerichtig wohl:

Warning: require_once() [function.require-once]: SAFE MODE Restriction in effect. The script whose uid is 10005 is not allowed to access /tmp/Zend/Loader.php owned by uid 0 in /var/www/vhosts/example.de/httpdocs/tests/include_path_test.php on line 7

Warning: require_once(/tmp/Zend/Loader.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/vhosts/example.de/httpdocs/tests/include_path_test.php on line 7

Fatal error: require_once() [function.require]: Failed opening required '/tmp/Zend/Loader.php' (include_path='.:/usr/share/php:/usr/share/psa-horde/pear') in /var/www/vhosts/example.de/httpdocs/tests/include_path_test.php on line 7

Warum aber sagte er mir weiter oben, die Datei würde im nicht existieren? Kann der vhost nur das "sehen", was in der open_basedir-Direktive festgelegt ist?

Wie könnte ich ein weiteres Verzeichnis, am besten das "/usr/php/share" freigeben? Kann ich Vhosts nur einmal definieren, oder könnte ich meine eigene Definition nach dem Einlesen der generierten Vhost-Dateien einbinden und für die in Frage kommenden Domains so weiter Ordner freigeben?

Wie dann aber die Safemoderestriction für diesen Ordner aufheben?

Dank und Gruß,

frankx

--
tryin to multitain  - Globus = Planet != Welt