Tikiwiki: open_basedir restriction

Hallo,

ich versuche gerade Tikiwiki auf dem frisch freigeschaltetend webspace zu installieren, leider meckert das script etwas:

Warning: tempnam() [function.tempnam]: open_basedir restriction in effect. File() is not within the allowed path(s): (/users/rpgtiki/temp:/users/rpgtiki/www:/etc/php/lib) in /users/rpgtiki/www/lib/init/initlib.php on line 101

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /users/rpgtiki/www/lib/init/initlib.php:101) in /users/rpgtiki/www/tiki-setup_base.php on line 278

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /users/rpgtiki/www/lib/init/initlib.php:101) in /users/rpgtiki/www/tiki-setup_base.php on line 278
header already sent

ist es möglich die open_basedir restriction anzupassen? Damit denke ich das auch die anderen fehlermeldungen verschwinden sollten.

grüße

Darauf hast du nicht die keine Chancen, aus naheliegenden Gründen. :wink:

Kannst du bitte mal die besagte Zeile aus der initlib.php hier posten?

hi,

hier is die funktion:

/** Return system defined temporary directory.
  * In Unix, this is usually /tmp
  * In Windows, this is usually c:\windows\temp or c:\winnt\temp
  * \static
  */
	function tempdir() {
		static $tempdir;
		if (!$tempdir) {
			$tempfile = tempnam(false,'');
			$tempdir = dirname($tempfile);
			@unlink($tempfile);
		}
		return $tempdir;
	}

die zeile wäre :

grüße

Miro, könntest du tempnam() so einstellen, dass es funktioniert???

Ich bin mir unklar, was der Fehler ist. Diese Funktion benutzt ein Workaround, bei dem tempnam() gezwungen wird, auf das System-Default zurückzufallen, auf das User keinen Zugriff haben. Allerdings macht die Fehlermeldung so keinen Sinn. Naja, weniger, als sie machen sollte. o_O

Das ist auch etwas, das die PHP-Entwickler versäumt haben. Eine Einstellung für das Temp-Verzeichnis. @TwoFace: Ich kann dir ein nicht-portables Workaround anbieten. Nicht die beste Lösung, aber immerhin eine. :wink:

function tempdir() { static $tempdir; if (!$tempdir) { $tempdir = ini_get('upload_tmp_dir'); } return $tempdir; }
Blöderweise würde hier die neue Funktion sys_get_temp_dir() auch nicht funktionieren, da sie hier auch /tmp zurückgibt.

super dein workaround hat funktioniert, danke für die schnelle hilfe.

grüße TF