Incognita /tmp

Postate qui discussioni di carattere generale riguardo a problemi di installazione e configurazione di osCommerce

Moderatore: mod Generali

Rispondi
Avatar utente
jerys1974
membro Regular
membro Regular
Messaggi: 213
Iscritto il: 07/02/2004, 1:00
Località: Italia
Contatta:

Incognita /tmp

Messaggio da jerys1974 »

Salve a tutti,
mi trovo alle prese con un problemino forse per qualcuno di facile risoluzione. Dopo aver avuto non pochi problemi con l'Oscommerce (che avevo segnalato su questo forum) ho trovato una soluzione ed ho risolto il 99% dei problemi. L'1% è dato da una scritta che compare in alto in rosso che mi dice " Attenzione: La Directory di sessione non esiste: /tmp. La Sessione non funzionerà finch?é la suddetta Directory non verrà creata".
La domanda è: dove va creata? sotto quale directory?
Grazie a tutti per l'attenzione
Emanuele
----------------------------
www.emanuelcristalli.com
rendiamo la tua vita brillante!
muttley
membro Junior
membro Junior
Messaggi: 36
Iscritto il: 26/02/2004, 1:00
Località: ITA

Messaggio da muttley »

Direi che usi windows, se usassi linux sapresti esattamente cos'è /tmp ;)

Ad ogni modo su windows la cartella in questione può essere creata in qualsiasi posto a patto che venga correttamente specificata in php.ini. Meglio ancora con uno script tipo

<?php
phpinfo();
?>

salvato ad esempio come phpinfo.php, potresti controllare il valore impostato per session.save_path e vedere il percorso attualmente utilizzato.

Oppure imposti in osc la gestione delle sessioni tramite database.
Avatar utente
jerys1974
membro Regular
membro Regular
Messaggi: 213
Iscritto il: 07/02/2004, 1:00
Località: Italia
Contatta:

Messaggio da jerys1974 »

e invece uso il Mac :D
Nella cartella admin di Osc la cartella /tmp sembra creata

Session Directory = /tmp
Forza l'uso dei cookie= F
Controlla ID sessione SSL= F
Controlla Agente Utente = F
Controlla indirizzo IP= True
Preveni sessione degli Spider = F
Ricrea Sessione = T

E poi perché nel sito che c'era prima non mi dava quest'errore?
Se vuoi ti posso annoiare con i problemi che mi dava il "vecchio" sito :lol:
Guarda... ti annoio subito :wink:
Nel vecchio non ci si riusciva più a registrare perché non accettava le nazioni con meno di 6 lettere e, ovviamente Italy non lo prendeva.
Non potendo spiegare a tutti di mettere come nazione di provenienza Afganistan ho pensato di rimetterci le mani. Dopo varie prove sono arrivato a scaricare l'intero sito sul desktop del mio computer e a ricaricarlo in un altro dominio dello stesso server. La cosa ancor più curiosa è che, nelle varie prove, ho fatto puntare il "nuovo" sito (che in pratica è una copia del vecchio) allo stesso database del "vecchio" e, tu non ci crederai, funzionava tutto!
Quindi mi ritrovavo con il "vecchio" che da problemi e con la copia in un altro dominio che funzionava benissimo (tranne che per questo errore di /tmp).
Ora ho rinominato la cartella del vecchio e ho fatto una copia del nuovo sullo stesso dominio e mi da questo errore che è brutto da vedersi, però funziona.
Per concludere... che devo fare?
CIAO![/img]
Emanuele
----------------------------
www.emanuelcristalli.com
rendiamo la tua vita brillante!
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: Incognita /tmp

Messaggio da marcus »

jerys1974 ha scritto:"

Attenzione: La Directory di sessione non esiste: /tmp. La Sessione non funzionerà finch?é la suddetta Directory non verrà creata".
A partire dalla versione 4, PHP offre un sistema di gestione delle sessioni. Tale meccanismo prevede il salvataggio delle informazioni di sessione in files creati in una opportuna directory, specificata nel file di configurazione del PHP o a tempo di esecuzione dello script.

Il messaggio di errore di cui sopra, implica che osCommerce è configurato per gestire le sessioni mediante il meccanismo predefinito offerto dal PHP, cioè nei configure files si ha:

Codice: Seleziona tutto

define('STORE_SESSIONS', '');
e indica che la directory da utilizzare per il salvataggio dei files di sessione non esiste.
Questo accade tipicamente quando il webserver gira su un sistema non nix, i.e. Windows o Mac.

Le soluzioni percorribili sono:

-) creare la dir /tmp con i diritti opportuni (ma questo può non essere sempre possibile)

-) cambiare in configurazione la dir di salvataggio delle sessioni, inserendo il path ad una dir esistente e avente i diritti opportuni (es: /catalog/admin/temp)

-) anzichè utilizzare il sistema built-in del php, gestire le sessioni utilizzando il Data Base. Quest'ultima soluzione è di gran lunga preferibile, sia per motivi di sicurezza, che per l'immediatezza della configurazione. Basta settare nei configure files:

Codice: Seleziona tutto

define('STORE_SESSIONS', 'mysql');

Questa domanda verrà inserita nelle FAQ.

Marcus
Ultima modifica di marcus il 28/04/2005, 18:43, modificato 1 volta in totale.
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
muttley
membro Junior
membro Junior
Messaggi: 36
Iscritto il: 26/02/2004, 1:00
Località: ITA

Messaggio da muttley »

jerys1974 ha scritto:e invece uso il Mac :D
Nella cartella admin di Osc la cartella /tmp sembra creata
Eccellente... però... /tmp in *NIX significa cartella "tmp" nella directory "/" (principale - detta "root") mentre "tmp nella cartella di osc - senza esclusivamente / davanti" sul mac sarà qualcosa tipo /Users/tuonome/Sites/cartellaosc/tmp. Prova a puntare session.save_path in php.ini al percorso completo della tmp di osc.
E poi perché nel sito che c'era prima non mi dava quest'errore?
Probabilmente perchè il vecchio dominio poteva scrivere su quella cartella, difficile a dirlo senza avere dettagli sull'host. Se hai caricato lo script phpinfo.php che ti ho scritto prima potresti darci il link o postare il contenuto, forse riusciamo a trovare l'inghippo.
Avatar utente
jerys1974
membro Regular
membro Regular
Messaggi: 213
Iscritto il: 07/02/2004, 1:00
Località: Italia
Contatta:

Messaggio da jerys1974 »

:P Tutto risolto
Ho dovuto fare una combinazione di due suggerimenti.
Ho creato una cartella tmp settata 777 sulla cartella catalog e ho cambiato su configure.php sul define la scritta 'mysql' che prima non c'era.
Il fatto di cambiare il path sul database di osc non serve (almeno a me non ha funzionato)
Ora sembra funzionare tutto.
Grazie per l'aiuto :wink:
Ora vado in cerca di una contrib che mi permette di inserire qualsiasi tipo di immagine (quadrata, rettangolare) e che la riduca tenendo le proporzioni senza allargarla o allungarla.
Grazie di nuovo a tutti.
A presto!
Emanuele
----------------------------
www.emanuelcristalli.com
rendiamo la tua vita brillante!
Rispondi