Sessions.php macht Probleme

Hey, muss gerade in meinem Praktikum bei meinem Cousin einen Online-Shop installieren - aber da meckert eine Datei rum und verursacht weitere Fehler, sodass ich nicht mal in den Admin-Bereich komme… :angry:

Fehlermeldung:

Warning: session_save_path() [function.session-save-path]: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/srv/www/htdocs/web3/html/:/srv/www/htdocs/web3/phptmp/:/srv/www/htdocs/web3/files/:/srv/www/htdocs/web3/atd/) in /srv/www/htdocs/web3/html/druckknaller.de/catalog/admin/includes/functions/sessions.php on line 165

hab diese Datei auch schon geöffnet - aber PHP ist für mich wie Chinesisch - ich versteh es einfach nicht! :hamma:

Wäre nett, wenn mir jemand das ausführlich erklären könnte, was ich denn zu tun habe…

Im Prinzip stehts eh da: Das Skript will nach /tmp schreiben, aber darf es aufgrund der OpenBaseDir Restriktion nicht.
Eine Möglichkeit wäre /tmp einfach in den open_basedir Pfad aufzunehmen in der PHP.ini (oder die vhost.conf).

[quote=“GMan”]Im Prinzip stehts eh da: Das Skript will nach /tmp schreiben, aber darf es aufgrund der OpenBaseDir Restriktion nicht.
Eine Möglichkeit wäre /tmp einfach in den open_basedir Pfad aufzunehmen in der PHP.ini (oder die vhost.conf).[/quote]

Bahnhof? Sag mal genau, was ich machen muss, hab da echt null Ahnung von.

ok, beim längeren und öfteren Lesen hab ich das jetzt verstanden - nur hab ich keine PHP.ini oder ne vhost.conf gefunden…

Die liegen auch nicht im shop verzeichnis, das sind system configurationen, die sollten daher auch in dem fuer das OS ueblichen config verzeichnis liegen.
Von den pfaden her sieht das wie ein unixoides system aus, also sollte die globale php config irgendwo in etc rumliegen.
Alles allerdings nur geschaetzt, hab mit dem Web krams nix am hut, ich beweg mich normal ne schiene tiefer.

Das ist doch eine gute moeglichkeit bei dem praktikum was zu lernen, kannst dich jetzt schoen mit php beschaeftigen. :smiley:

Durchsuch’ die Dateien mal, wo “/tmp” drin steht. Eventuell kann man das auch dadurch zum Laufen kriegen, dass man “/tmp” abändert in ein Verzeichnis, das in einem der genannten Pfade liegt.

fehlermeldung an den serveradmin schicken, der sollts hinbekommen - entweder die session tmp auf die allowed paths setzen oder /tmp in die allowed paths reinnehmen.

alternativ kann man selber was über “ini_set()” hinbiegen. ist aber recht hässlich.

um welches shopsystem handelt sichs denn?

lg, Phil.

oscommerce!

forums.oscommerce.de/lofiversion … 17510.html <- Da gibt’s mehr Infos zu dem Problem.

Das problem bei dieser “Lösung” ist, dass meine Fehlermeldung bereits dann auftaucht, wenn ich überhaupt in den Admin-Bereich will. Somit sind mir die Lösungen vom oscommerce-Forum nicht sehr hilfreich!

Entpack den oscommerce-Krempel doch mal lokal in einem Verzeichnis, und schau mal, ob der /tmp-Pfad von einer oscommerce-Datei stammt, oder ob er von der php.ini kommt. In ersterem Fall könnte man ja noch was hinbiegen.

/Edit: Noch 2 Sachen gefunden: forums.oscommerce.de/lofiversion … t9722.html - probier mal zuerst den Tipp, die Sessions gleich in der Datenbank zu speichern. Alternativ den define(‘STORE_SESSIONS’, ) mit einem in Deinem BaseDir.

das erste und das zweite (jeweils mit dem mysql einsetzen) bringt mir nichts, da beide configure-dateien mysql bereits beinhalten.

tmp wurde auch als Ordner mit 777 erstellt.

und neuinstallation… pfff, hab ich bereits 4 mal gemacht. was anderes seh ich da nicht als Hilfe.

:frowning:

Ähhhh, schau doch mal in die php Dateien wo das temp-dir gesetzt wird. Dann ändere es auf einen Pfad in deiner Benutzerumgebung :smile:
Ansonsten könntest du noch eine .htaccess Datei in dem Verzeichnis des Skripts ablegen, die folgende Zeilen enthält:
--geht scheinbar nicht :smiley:
open_basedir kann nur aus der php.ini oder der http / apache / vhost.conf gesetzt werden. (siehe Zend Website)
Was für Rechte hast du auf der Maschine? Ist das ein einfacher Webspace eines Anbieters oder arbeitest du an einem eigenen, dedizierten Server?

@Phil: Geht leider nicht über INI-Set…genauso wenig via htaccess. Wäre eh schmutzig, aber nun…

Das steht in meiner configure.php:

[code]define(‘HTTP_SERVER’, ‘http://druckknaller.de’);
define(‘HTTP_CATALOG_SERVER’, ‘http://druckknaller.de’);
define(‘HTTPS_CATALOG_SERVER’, ‘http://druckknaller.de’);
define(‘ENABLE_SSL_CATALOG’, ‘false’);
define(‘DIR_FS_DOCUMENT_ROOT’, ‘/srv/www/htdocs/web3/html/druckknaller.de/catalog/’);
define(‘DIR_WS_ADMIN’, ‘/catalog/admin/’);
define(‘DIR_FS_ADMIN’, ‘/srv/www/htdocs/web3/html/druckknaller.de/catalog/admin/’);
define(‘DIR_WS_CATALOG’, ‘/catalog/’);
define(‘DIR_FS_CATALOG’, ‘/srv/www/htdocs/web3/html/druckknaller.de/catalog/’);
define(‘DIR_WS_IMAGES’, ‘images/’);
define(‘DIR_WS_ICONS’, DIR_WS_IMAGES . ‘icons/’);
define(‘DIR_WS_CATALOG_IMAGES’, DIR_WS_CATALOG . ‘images/’);
define(‘DIR_WS_INCLUDES’, ‘includes/’);
define(‘DIR_WS_BOXES’, DIR_WS_INCLUDES . ‘boxes/’);
define(‘DIR_WS_FUNCTIONS’, DIR_WS_INCLUDES . ‘functions/’);
define(‘DIR_WS_CLASSES’, DIR_WS_INCLUDES . ‘classes/’);
define(‘DIR_WS_MODULES’, DIR_WS_INCLUDES . ‘modules/’);
define(‘DIR_WS_LANGUAGES’, DIR_WS_INCLUDES . ‘languages/’);
define(‘DIR_WS_CATALOG_LANGUAGES’, DIR_WS_CATALOG . ‘includes/languages/’);
define(‘DIR_FS_CATALOG_LANGUAGES’, DIR_FS_CATALOG . ‘includes/languages/’);
define(‘DIR_FS_CATALOG_IMAGES’, DIR_FS_CATALOG . ‘images/’);
define(‘DIR_FS_CATALOG_MODULES’, DIR_FS_CATALOG . ‘includes/modules/’);
define(‘DIR_FS_BACKUP’, DIR_FS_ADMIN . ‘backups/’);

define(‘DB_SERVER’, ‘******’);
define(‘DB_SERVER_USERNAME’, ‘******’);
define(‘DB_SERVER_PASSWORD’, ‘******’);
define(‘DB_DATABASE’, ‘******’);
define(‘USE_PCONNECT’, ‘false’);
define(‘STORE_SESSIONS’, ‘mysql’);[/code]

von temp_dir steht da nichts - soll ich das neu anlegen?

Hast du Root-Zugriff / Shell-Zugriff auf den Webserver oder nicht?

nein, bin nur ein kleiner Praktikant mit Zugriff nur auf eine bestimmte Stelle im Webserver (genau wie mein Chef). Also kein Root.

Was soll ich denn dem Admin sagen, was er machen soll? das ganze Zeug mit der php.ini oder was?

Dieses OsCommerce? :wink:

Sag ihm: Lieber Admin, schreib doch bitte in die PHP.ini bei der Direktive open_basedir = …:/tmp dazu.

[quote=„Deus X. Machina“]

Dieses OsCommerce? :wink:[/quote]

danke für den Tipp :wink:
gleich mal patch auf den server packen!