Errori in sessions.php eseguendo OsC su host remoto

Domande a questioni che hanno già trovato una risposta su questo forum

Moderatore: mod Documentazione

Rispondi
Corlandz
membro Junior
membro Junior
Messaggi: 11
Iscritto il: 21/04/2006, 12:19
Località: Moncalvo (AT)
Contatta:

Errori in sessions.php eseguendo OsC su host remoto

Messaggio da Corlandz »

Ciao,

rieccomi a stressarvi :(
terminato finalmente di installare e configurare OsC su un host che non abbia limitazioni strane di queries/h ecc, ho ricontrato questi errori da browser (sia Ie, che FF che Opera):

Warning: session_save_path() [function.session-save-path]: SAFE MODE Restriction in effect. The script whose uid is 104558 is not allowed to access owned by uid 0 in /mnt/storage/users/e/n/o/mysite/includes/functions/sessions.php on line 148

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/storage/users/e/n/o/mysite/includes/functions/sessions.php:148) in /mnt/storage/users/e/n/o/mysite/includes/functions/sessions.php on line 97

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/storage/users/e/n/o/mysite/includes/functions/sessions.php:148) in /mnt/storage/users/e/n/o/mysite/includes/functions/sessions.php on line 97


La riga 97 di sessions.php contiene questo:
return session_start();

mentre la 148 questo:

return session_save_path($path);

Qualcuno sa indicarmi il problema, per favore?

Grazie :)
Necessito input!
Corlandz
membro Junior
membro Junior
Messaggi: 11
Iscritto il: 21/04/2006, 12:19
Località: Moncalvo (AT)
Contatta:

Messaggio da Corlandz »

Ho risolto, magari in modo non molto ortodosso, ma grazie ai consigli di Sergio, andando a modificare una linea nei due file application_top.php (uno in catalog\admin\includes e \catalog\includes), sostituendo

error_reporting(E_ALL & ~E_NOTICE);

con

error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);


Onestamente non so questa modifica quali controindicazioni possa comportare la cosa, ma fatto sta che questo adesso è a posto :)
Necessito input!
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Messaggio da marcus »

Corlandz ha scritto:Ho risolto, magari in modo non molto ortodosso, ma grazie ai consigli di Sergio, andando a modificare una linea nei due file application_top.php (uno in catalog\admin\includes e \catalog\includes), sostituendo

error_reporting(E_ALL & ~E_NOTICE);

con

error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);


Onestamente non so questa modifica quali controindicazioni possa comportare la cosa, ma fatto sta che questo adesso è a posto :)
Quello che ti hanno consigliato è solo un modo per sopprimere il warning.

Il problema è il seguente: a causa di un bug di osC, se il safe mode è ad On, il sistema predefinito di salvataggio dei dati di sessione, attivo se

Codice: Seleziona tutto

define('STORE_SESSIONS', '');
non funziona correttamente.

La procedura corretta per risolvere il problema è questa:

1) Nei configure.php setta il salvataggio delle sessioni sul DB:

Codice: Seleziona tutto

// STORE_SESSIONS
// Session handler - leave empty '' for default handler or set to 'mysql' 
define('STORE_SESSIONS', 'mysql');:
2) In catalog/includes/functions/sessions.php trova:

Codice: Seleziona tutto

function tep_session_save_path($path = '') {
if (!empty($path)) {
return session_save_path($path);
} else {
return session_save_path();
}
}
e modifica con:

Codice: Seleziona tutto

function tep_session_save_path($path = '') {
if (STORE_SESSIONS != 'mysql') { 
if (!empty($path)) {
return session_save_path($path);
} else {
return session_save_path();
}
}
}
Devi fare lo stesso lato admin.

Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
ovi
membro Junior
membro Junior
Messaggi: 32
Iscritto il: 07/06/2007, 14:39

Messaggio da ovi »

ok, ma il bug c'è anche nel file ufficiale scaricato nel 2008 ? :O
Rispondi