我刚从托管方订购了一台 vps 服务器。 这是带有 Plesk 11 的 CentOS。 所以我刚刚在服务器上安装了我的 Zend 应用程序,但现在错误日志状态
[Mon Apr 15 20:48:28 2013] [warn] [client 94.210.222.87] mod_fcgid: stderr: PHP Fatal error: Uncaught exception 'Zend_Session_Exception' with message 'Zend_Session::start() - /var/www/vhosts/ontwerp.doedels.eu/httpdocs/mvc/libraries/Zend/Session.php(Line:469): Error #2 session_start(): open(/var/www/vhosts/ontwerp.doedels.eu/tmp/sess_t2orkniqjn9rsn9m84d2clsdd1, O_RDWR) failed: Permission denied (13) Array
[Mon Apr 15 20:48:28 2013] [warn] [client 94.210.222.87] mod_fcgid: stderr: /var/www/vhosts/ontwerp.doedels.eu/httpdocs/mvc/libraries/Zend/Session.php(Line:479): Error #2 session_write_close(): open(/var/www/vhosts/ontwerp.doedels.eu/tmp/sess_t2orkniqjn9rsn9m84d2clsdd1, O_RDWR) failed: Permission denied (13) Array
[Mon Apr 15 20:48:28 2013] [warn] [client 94.210.222.87] mod_fcgid: stderr: /var/www/vhosts/ontwerp.doedels.eu/httpdocs/mvc/libraries/Zend/Session.php(Line:479): Error #2 session_write_close(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/www/vhosts/ontwerp.doedels.eu/tmp) Array' in /var/www/vhosts/ontwerp.doedels.eu/httpdocs/mvc/libraries/Zend/Session.php:482
到目前为止我尝试了什么? 我尝试将 session.save_path 设置为 {DOCUMENTROOT}/tmp 和 {WEBSPACEROOT}/tmp 这似乎不起作用。
phpinfo 函数表示 session.save_path =/var/www/vhosts/ontwerp.doedels.eu/tmp 是好的文件夹。路径存在且文件夹有777 CHMOD权限。
解决方法 当我设置 session.save_path = {WEBSPACEROOT}/private/sess 时它似乎有效 这是我用 777 chmod 权限创建的文件夹,但它似乎不是一个永久的解决方案。因为我必须在每次订阅时创建这个文件夹。
我确定知道什么?
- 文件夹未满
- 文件夹确实存在
- 文件夹有写权限777
- 文件夹所有者是 0
- 以 fastcgi 方式运行服务器
最佳答案
您需要为您的 var 目录设置权限。这似乎是问题所在。
关于php - 无法写入 session 数据(文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16022731/