Maybe try PHP ext/session configuration (i.e., session.gc_probability, session.gc_divisor, session.gc_maxlifetime)? You can set these options with Zend_Session::setOptions(); please see the following documentation for more information:

http://framework.zend.com/manual/en/zend.session.global_session_management.html#zend.session.global_session_management.configuration_options

(Sorry for the long URL)

Maybe you are on a FAT filesystem?

Best regards,
Darby

WooKasZ wrote:
So what should I do to make it work ? I have to clean this session directory.
My GB function:

function garbageCollection( $dir, $lifetime ) {
if ( $resDirectory = opendir( $dir ) ) {
        while ( ( $strFile = readdir( $resDirectory ) ) !== false ) {
        
                if ( is_file( $dir . $strFile ) ) {
                        if ( time() > filemtime( $dir . $strFile ) + $lifetime 
) {
                                unlink( $dir . $strFile );
                        }
                }
        }

        closedir( $resDirectory );
}


Matthew Weier O'Phinney-3 wrote:
-- Steven Brown <[EMAIL PROTECTED]> wrote
(on Thursday, 06 March 2008, 07:53 AM +1000):
Matthew is it possible Zend_Session needs an option like Zend_Cache to
store session files in layered directories so there are not too many
files in a single directory at once?

Zend_Session does not do session storage, and instead leaves it to PHP's
session mechanisms. All it does is provide an interface to the $_SESSION
global as well as to the various session_*() configuration functions.

The error below is due to the user's own session handler, which
Zend_Session has no knowledge of -- as is is, even if they used
session_start() without Zend_Session, they'd get a PHP warning.

-----Original Message-----
From: Matthew Weier O'Phinney [mailto:[EMAIL PROTECTED] Sent: Wednesday, 5 March 2008 11:49 PM
To: [email protected]
Subject: Re: [fw-general] Critical Error with Zend_Session

-- WooKasZ <[EMAIL PROTECTED]> wrote
(on Wednesday, 05 March 2008, 05:35 AM -0800):
Hello ! I have a problem with Zend_Session class.
Sometimes when I am refreshing page or clicking on a link this fatal
error
occurs:
Code:

Fatal error: Uncaught exception 'Zend_Session_Exception' with message 'Zend_Session::start() - session_start()
 [ function.session-start function.session-start ]:
ps_files_cleanup_dir:
opendir(_sessions/) failed: Result too large (34)' in H:\www\wz\Zend\Session.php:379 Stack trace: #0 H:\www\wz\Zend\Session\Namespace.php(116): Zend_Session::start(true) #1 H:\www\wz\init\session.php(16):
Zend_Session_Namespace->__construct()
#2 H:\www\wz\init\init.php(10): require_once('H:\www\wz\init\...') #3 H:\www\wz\index.php(21): require_once('H:\www\wz\init\...')
#4 {main} thrown in H:\www\wz\Zend\Session.php on line 379

Here is the code in my app:

require_once('Zend/Session.php');

garbageCollection( $config['session']['savepath'],
$config['session']['lifetime'] );

ini_set( 'session.cache_expire', $config['session']['cache_exp']); ini_set( 'session.gc_maxlifetime', $config['session']['lifetime'] );

session_save_path( $config['session']['savepath'] );

$defSessNamespace  = new Zend_Session_Namespace( );

garbageCollector is cleaning folder with sessions.
I use it (and init_set) couse I didin't found it in docs.
Based on the message exception from the exception thrown, it looks like
your GC routine is having trouble getting a list of sessions to remove
-- that perhaps there are too many for the OS to handle at once.

--
Matthew Weier O'Phinney
PHP Developer            | [EMAIL PROTECTED]
Zend - The PHP Company   | http://www.zend.com/


--
Matthew Weier O'Phinney
PHP Developer            | [EMAIL PROTECTED]
Zend - The PHP Company   | http://www.zend.com/



Reply via email to