RE: Re: mediator between PHP and Perl (with sessions)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Eli,

Sessions work just fine with CLI (Command Line Interpreter), although there is little need for them as a CLI script, since once started the script does not wait on user clicks of a browser for it's next set of input, therefore no need to use sessions for passing information.  Most CLI scripts are started via a cron process, and if started from a webpage, the items passed to the script can be passed via command line parameters, or if passed as session variables, the session key needs to be passed to the CLI script, since CLI scripts don't have access to cookies.  One advantage of using session variables when starting a CLI script, is that the session may be able to pass bigger values than can be contained in a command line. (Command line variables can be accessed in the argc/argv array like in "c") and once passed this way the sessions are no longer needed since your CLI script will run to completion.

If your server is a NIX box, you may have access to the "&" character after the command name that will cause it to run as a separate shell script, but you will need to set the timeout to allow it to run long enough, and if you do not use the "&" separate shell character, the script will be interruptible by the user who started it by clicking a button like "stop" on his browser.

The unserialize function is indeed used for sessions, but with most newer releases of PHP "register variables" is turned off, which means the variables are not restored automatically (you will find them in the $_SESSION array).  Sections of the manual you may want to reread are as follows;

http://www.php.net/manual/en/ref.session.php
http://www.php.net/manual/en/function.session-set-save-handler.php (good illustrations of what happens in sessions)
http://www.php.net/manual/en/function.session-register.php (notice the notes on register variables).
http://www.php.net/manual/en/function.session-id.php
http://us3.php.net/manual/en/function.set-time-limit.php to allow script to run longer.
http://us3.php.net/manual/en/function.shell-exec.php for starting a cli script (don't forget to start php).

hope this helps,

Warren Vail

> -----Original Message-----
> From: Eli [mailto:eli.hen@xxxxxxxxx]
> Sent: Tuesday, February 15, 2005 7:07 AM
> To: php-general@xxxxxxxxxxxxx
> Subject:  Re: mediator between PHP and Perl (with sessions)
> 
> 
> It's quite easy to pass the session variables to the script. The problem 
> with sessions and shell PHP scripts, is that PHP doesn't support 
> sessions on that mode (CLI mode it is called). So, I would have to 
> manualy read the session file and parse it. If anyone knows what is the 
> exact function that is used to unserialize the session file, please 
> tell.. and it's not the unserialize() function in PHP.
> 
> I guess that using a shell PHP script with sessions is not the solution. 
> Is anybody familiar with another way to use sessions??? but not through 
> web, since the script returns sensitive data.
> 
> 
> -thanks, Eli
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
> 
> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux