我正试图在我的Symfony 2应用程序中启动并运行PHPUnit,但我遇到了一个似乎无法解决的问题。
当我运行单元测试时,会返回一个致命错误,这在普通浏览器中不会发生。
测试功能
$client = static::createClient(array(), array(
'PHP_AUTH_USER' => 'test',
'PHP_AUTH_PW' => 'test',
));
$crawler = $client->request('GET', '/test/url');
控制台错误
$ phpunit -c app/
PHPUnit 3.6.10 by Sebastian Bergmann.
Configuration read from /Acme/app/phpunit.xml.dist
PHP Fatal error: Call to undefined function xcache_get() in /Acme/vendor/aws-sdk-for-php/lib/cachecore/cachexcache.class.php on line 58
Fatal error: Call to undefined function xcache_get() in /Acme/vendor/aws-sdk-for-php/lib/cachecore/cachexcache.class.php on line 58
线路错误是指(在AWS SDK中)本摘录中的L58是L3
public function read()
{
if ($data = xcache_get($this->id))
{
$data = $this->gzip ? gzuncompress($data) : $data;
return unserialize($data);
}
return false;
}
非常感谢您的帮助:-)
phpunit正在使用不同的ini文件,该文件不加载此扩展名
尝试从控制台运行php--ini,将其与浏览器的phpinfo()输出进行比较,以查看加载了哪些ini文件(很可能您的web服务器在不同的用户上运行,并且可能有自己的ini文件)
修复它的可能方法:
- 编辑cli使用的ini并添加必要的选项
- 通过将PHPRC环境变量设置为指向MAMP ini文件
- 在php-bin文件夹中创建指向MAMP ini文件的符号链接
- 编辑phpunit文件并在php二进制文件后添加
-c path/to/ini