You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rivet-dev@tcl.apache.org by Brice Hamon <no...@gmail.com> on 2013/07/12 19:58:18 UTC
Rivet 2.1.1 Session
Hi Guys,
I am trying to get the Session package working on a River 2.1.2
distribution using Mysql.
I managed to get the DB working, and the configuration as specified in the
documentation.
When I run the session-demo.rvt I see new sessions been created and added
to the session table in the DB.
Good.
However I don't see cookies been set on my browser and I get an error in
the rvt (with DEBUG set to 1).
Session Demo ::SESSION (debug) activate: checking out the situation
::SESSION (debug) id: no session cookie 'rivetSession'
::SESSION (debug) activate: new session, reason 'no_cookie'
::SESSION (debug) gen_session_id - feeding this to md5:
'13736499122980338089108.35.26.181373649912some random string'
::SESSION (debug) create_session: ip 108.35.26.18, id
'7E992E073C539CE5F816E3D542A1B2C8'
------------------------------
Cannot manipulate headers - already sent
invoked from within
"headers add $cookieKey $cookieValue"
(procedure "cookie" line 22)
invoked from within
"cookie set $cookieName $value -path $cookiePath -minutes
$cookieLifetime -secure $cookieSecure -HttpOnly $cookieHttpOnly"
(object "::SESSION" method "::Session::set_session_cookie" body line 2)
invoked from within
"set_session_cookie $id"
(object "::SESSION" method "::Session::activate" body line 23)
invoked from within
"SESSION activate"
(in namespace eval "::request" script line 5)
invoked from within
"namespace eval request {
puts -nonewline "
Any ideas?
Thank you
Brice.
Re: Rivet 2.1.1 Session
Posted by Brice Hamon <no...@gmail.com>.
Hi Massimo,
Got it. Working perfectly. Fantastic.
Thank you very much for your quick help.
Have a good WE guys,
Brice.
On Fri, Jul 12, 2013 at 2:43 PM, Massimo Manghi <ma...@unipr.it>wrote:
> you have to direct the debugging output to some file, otherwise you are
> forcing mod_rivet to send data to the client before your headers are sent
> consistently with HTTP.
>
> The technique is simple: just pass a file handle to the Session instance
>
> e.g.
>
> Session ::SESSION -dioObject $dbms \
> -debugMode 1 \
> .....
> -debugFile [open [file join /tmp
> "session-[pid].log"] w+]
>
>
> the [pid] call creates a single log file per child process avoiding the
> file name clashing. If you need to debug a specific child you may run httpd
> -X thus telling apache to create just one child process
>
> cheers
>
> -- Massimo
>
>
>
>
> On 12-07-2013 19:58, Brice Hamon wrote:
>
>> Hi Guys,
>>
>> I am trying to get the Session package working on a River 2.1.2
>> distribution using Mysql.
>>
>> I managed to get the DB working, and the configuration as specified in
>> the documentation.
>>
>> When I run the session-demo.rvt I see new sessions been created and
>> added to the session table in the DB.
>>
>> Good.
>>
>> However I dont see cookies been set on my browser and I get an error
>>
>> in the rvt (with DEBUG set to 1).
>>
>> SESSION DEMO
>>
>>
>> ::SESSION (debug) activate: checking out the situation
>> ::SESSION (debug) id: no session cookie rivetSession
>> ::SESSION (debug) activate: new session, reason no_cookie
>> ::SESSION (debug) gen_session_id - feeding this to md5:
>> 13736499122980338089108.35.26.**181373649912some random string
>> ::SESSION (debug) create_session: ip 108.35.26.18, id
>> 7E992E073C539CE5F816E3D542A1B2**C8
>>
>> -------------------------
>>
>> Cannot manipulate headers - already sent
>> invoked from within
>> "headers add $cookieKey $cookieValue"
>> (procedure "cookie" line 22)
>> invoked from within
>> "cookie set $cookieName $value -path $cookiePath -minutes
>> $cookieLifetime -secure $cookieSecure -HttpOnly $cookieHttpOnly"
>> (object "::SESSION" method "::Session::set_session_**cookie" body line
>> 2)
>> invoked from within
>> "set_session_cookie $id"
>> (object "::SESSION" method "::Session::activate" body line 23)
>> invoked from within
>> "SESSION activate"
>> (in namespace eval "::request" script line 5)
>> invoked from within
>> "namespace eval request {
>> puts -nonewline "
>>
>> Any ideas?
>>
>> Thank you
>>
>> Brice.
>>
>
>
Re: Rivet 2.1.1 Session
Posted by Massimo Manghi <ma...@unipr.it>.
you have to direct the debugging output to some file, otherwise you are
forcing mod_rivet to send data to the client before your headers are
sent consistently with HTTP.
The technique is simple: just pass a file handle to the Session
instance
e.g.
Session ::SESSION -dioObject $dbms \
-debugMode 1 \
.....
-debugFile [open [file join /tmp
"session-[pid].log"] w+]
the [pid] call creates a single log file per child process avoiding the
file name clashing. If you need to debug a specific child you may run
httpd -X thus telling apache to create just one child process
cheers
-- Massimo
On 12-07-2013 19:58, Brice Hamon wrote:
> Hi Guys,
>
> I am trying to get the Session package working on a River 2.1.2
> distribution using Mysql.
>
> I managed to get the DB working, and the configuration as specified
> in
> the documentation.
>
> When I run the session-demo.rvt I see new sessions been created and
> added to the session table in the DB.
>
> Good.
>
> However I dont see cookies been set on my browser and I get an error
> in the rvt (with DEBUG set to 1).
>
> SESSION DEMO
>
> ::SESSION (debug) activate: checking out the situation
> ::SESSION (debug) id: no session cookie rivetSession
> ::SESSION (debug) activate: new session, reason no_cookie
> ::SESSION (debug) gen_session_id - feeding this to md5:
> 13736499122980338089108.35.26.181373649912some random string
> ::SESSION (debug) create_session: ip 108.35.26.18, id
> 7E992E073C539CE5F816E3D542A1B2C8
>
> -------------------------
> Cannot manipulate headers - already sent
> invoked from within
> "headers add $cookieKey $cookieValue"
> (procedure "cookie" line 22)
> invoked from within
> "cookie set $cookieName $value -path $cookiePath -minutes
> $cookieLifetime -secure $cookieSecure -HttpOnly $cookieHttpOnly"
> (object "::SESSION" method "::Session::set_session_cookie" body line
> 2)
> invoked from within
> "set_session_cookie $id"
> (object "::SESSION" method "::Session::activate" body line 23)
> invoked from within
> "SESSION activate"
> (in namespace eval "::request" script line 5)
> invoked from within
> "namespace eval request {
> puts -nonewline "
>
> Any ideas?
>
> Thank you
>
> Brice.
---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org