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ß,