在 CakePHP IntegrationTest 中 "Redis"-class 仅在执行测试时未知
In a CakePHP IntegrationTest "Redis"-class is unknown only when executing the test
我正在尝试为控制器实施 PHPUnit 集成测试。在控制器中,我实例化了 PHPRedis-class (https://github.com/phpredis/phpredis#usage):
的一个对象
//connect to redis database
try
{
$this->objPHPRedis = new \Redis();
$this->objPHPRedis->connect('127.0.0.1');
}
catch(\RedisException $e)
{
$this->log($e, 1);
}
catch (\Exception $e)
{
$this->log($e, 1);
}
这在我处理正常请求时效果很好,但在我执行测试时却失败了:
PHP Fatal error: Class Redis not found in /var/www/.../MyController.php on line 100.
我不知道从哪里开始寻找问题。有人知道问题出在哪里吗?
您的 php CLI 配置没有加载 redis 模块。找到你的 CLI php.ini,可能命名为 cli_php.ini
或类似的东西,并确保你的 redis 模块也加载在那里。
我正在尝试为控制器实施 PHPUnit 集成测试。在控制器中,我实例化了 PHPRedis-class (https://github.com/phpredis/phpredis#usage):
的一个对象
//connect to redis database
try
{
$this->objPHPRedis = new \Redis();
$this->objPHPRedis->connect('127.0.0.1');
}
catch(\RedisException $e)
{
$this->log($e, 1);
}
catch (\Exception $e)
{
$this->log($e, 1);
}
这在我处理正常请求时效果很好,但在我执行测试时却失败了:
PHP Fatal error: Class Redis not found in /var/www/.../MyController.php on line 100.
我不知道从哪里开始寻找问题。有人知道问题出在哪里吗?
您的 php CLI 配置没有加载 redis 模块。找到你的 CLI php.ini,可能命名为 cli_php.ini
或类似的东西,并确保你的 redis 模块也加载在那里。