Zend未能与Redis开始会谈

时间:2015-11-13 03:27:15

标签: php zend-framework redis

我正在为正在使用的项目担任技术总监 PHP,Zend和Redis运行游戏。

我正在做一个发布服务,当我尝试部署我从开发人员那里获得的构建时遇到了问题。当我尝试启动服务器时出现此错误。

  

致命错误:[无活动文件]中未捕获的异常'RedisException',消息'Connection closed':0堆栈跟踪:#0 {main}在第0行的[no active file]中抛出

我认为首先是Redis连接。但我尝试telnet它,并且还通过简单的套接字编程脚本硬编码PHP Predis来设置/获取Redis数据。 它正在发挥作用。

所以我试着注释掉每一行代码,然后我到达Zend框架的那一行:

    <?php
    ...
    try {
         Zend_Session::start();

         Game_Db_Db::init();       // <-- This is also failed if I commented out above Zend_Session::start();
    } catch (Exception $e) {
         echo $e->getMessage() . '<br>';
         echo "Error";
    }
    ...
    ?>

我试着在另一个问题上查找并发现了这一点。

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

上述问题表明问题与写入权限有关。但是我的情况有所不同,因为我使用Redis for session.save_path =“tcp://xx.xx.xxx.xxx:xxxx”而不是本地路径。

正如我之前提到的,我成功测试了Redis set / get键值。所以我认为问题可能会有所不同。

开发人员正试图解决这个问题,但是这个问题已经花了很长时间。

如果你能指出我应该在哪里看看,那就绰绰有余了。

提前感谢。

1 个答案:

答案 0 :(得分:0)

我有同样的问题,在我的情况下,我首先检查ini设置是否在单独的文件中正确(没有Zend框架)。

<?php
var_dump(ini_get("session.save_handler"));
var_dump(ini_get("session.save_path"));

如果php.ini正常工作,请检查Zend Config中是否有一些设置,请参阅Zend Project中的http://framework.zend.com/manual/2.0/en/modules/zend.session.global-session-management.html或grep for“save_path”。