Alex Rivera | Logout

Zend_Session / Zend_Auth randomly throws Error Message ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied (13)

Asked 2010-05-28T16:46:15.140
27

I'm currently working on a new Application using (among other things) Zend_Auth but, for whatever reason, this Error Message is showing up at any location totally randomly (or so it seams)

Zend_Session::start() - /home/hannes/workspace/develop/library/Zend/Session.php(Line:480): Error #8 session_start() [function.session-start]: ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied (13) Array

  • #0 /home/hannes/workspace/develop/library/Zend/Session/Namespace.php(143): Zend_Session::start(true)
  • #1 /home/hannes/workspace/develop/library/Zend/Auth/Storage/Session.php(87): Zend_Session_Namespace->__construct('Zend_Auth')
  • #2 /home/hannes/workspace/develop/library/Zend/Auth.php(91): Zend_Auth_Storage_Session->__construct()
  • #3 /home/hannes/workspace/develop/library/Zend/Auth.php(141): Zend_Auth->getStorage()
  • #4 /home/hannes/workspace/develop/xxxxxxx/application/controllers/AdminController.php(10): Zend_Auth->hasIdentity()
  • #5 /home/hannes/workspace/develop/library/Zend/Controller/Action.php(133): AdminController->init()
  • #6 /home/hannes/workspace/develop/library/Zend/Controller/Dispatcher/Standard.php(262): Zend_Controller_Action->__construct(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http), Array)
  • #7 /home/hannes/workspace/develop/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
  • #8 /home/hannes/workspace/develop/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
  • #9 /home/hannes/workspace/develop/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
  • #10 /home/hannes/workspace/develop/xxxxxxx/public/index.php(26): Zend_Application->run()
  • #11 {main}
Edit
Report

2 Answers

11

Actually changing the directory of the session.save_path turns garbage collection off. That is why it now works for you. If you want garbage collection you can change the original directory owner to the php user "www-data"

chown www-data /var/lib/php5

In the alternative you can write a garbage collection script for the new directory.

answered 2011-02-16T03:02:49.197
5

I had this problem with the Symfony framework also, the problem is php does not have permission to the session storage directory. Just change the session save directory to somewhere writable. In Zend Framework Bootstrap config ini:

resources.session.save_path = APPLICATION_PATH "/../data/session"
answered 2010-10-18T08:19:11.183

Your Answer