Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPUnit致命错误';调用未定义的函数xcache_get()';awsdk&;Symfony 2_Php_Symfony_Amazon Web Services_Phpunit - Fatal编程技术网

PHPUnit致命错误';调用未定义的函数xcache_get()';awsdk&;Symfony 2

PHPUnit致命错误';调用未定义的函数xcache_get()';awsdk&;Symfony 2,php,symfony,amazon-web-services,phpunit,Php,Symfony,Amazon Web Services,Phpunit,我正在尝试在我的Symfony 2应用程序中启动PHPUnit并运行,但我遇到了一个似乎无法解决的问题 当我运行单元测试时,返回一个致命错误,这在普通浏览器中不会发生 测试功能 $client = static::createClient(array(), array( 'PHP_AUTH_USER' => 'test', 'PHP_AUTH_PW' => 'test', )); $crawler = $cl

我正在尝试在我的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

  • phpunit正在使用不同的ini文件,该文件不加载此扩展名

    尝试从控制台运行php--ini,将其与浏览器的phpinfo()输出进行比较,以查看正在加载哪些ini文件(很可能您的web服务器在不同的用户上运行,并且可能有自己的ini文件)

    可能的修复方法:

  • 编辑cli使用的ini并添加必要的选项
  • 通过将PHPRC环境变量设置为指向MAMP ini文件
  • 在php bin文件夹中创建指向MAMP ini文件的符号链接
  • 编辑phpunit文件并在php二进制文件后添加
    -c path/to/ini

  • 看起来您没有XCache扩展名,或者phpunit使用的是不同的ini文件,没有加载此扩展名。我使用的是MAMP和XCache,该URL在浏览器中工作得非常好,所以我假设您的第二点可能是问题的一部分?如何找出它使用的是哪个ini文件?通过从控制台运行php--ini,将其与浏览器的
    phpinfo()
    输出进行比较,以查看正在加载哪些ini文件(很可能您的web服务器在不同的用户上运行,并且可能有自己的ini文件),明白了!谢谢你的帮助,如果你想作为答案发布,我会接受的。命令行使用了一个不同的php.ini文件来MAMP,我一把xcache配置放进去,它就开始按预期工作。干杯。看起来您没有XCache扩展名,或者phpunit使用了不同的ini文件,但没有加载此扩展名。我使用的是MAMP和XCache,该URL在浏览器中运行良好,所以我假设您的第二点可能是问题的一部分?如何找出它使用的是哪个ini文件?通过从控制台运行php--ini,将其与浏览器的
    phpinfo()
    输出进行比较,以查看正在加载哪些ini文件(很可能您的web服务器在不同的用户上运行,并且可能有自己的ini文件),明白了!谢谢你的帮助,如果你想作为答案发布,我会接受的。命令行使用了一个不同的php.ini文件来MAMP,我一把xcache配置放进去,它就开始按预期工作。干杯。我怎样才能将ini的路径完全更改为MAMP文件?如果我复制并粘贴整个内容,我会得到一堆require_once路径错误。我最初确实复制/粘贴了xcache的东西,修复了一个问题,但导致了另一个问题。理想情况下,此命令行配置将与我在var_dump中添加的MAMPIf完全相同($client->getResponse()->getContent());要查找错误,我将获得更多xcache问题:警告:xcache\u get():xcache.var\u大小为0或太小,无法在/Users/greg/Repos/hvh/vendor/aws sdk for php/lib/cachecore/cachexcache.class.php行58中启用var数据缓存。如何完全更改MAMP文件ini的路径?如果我复制并粘贴整个内容,我会得到一堆require_once路径错误。我最初确实复制/粘贴了xcache的东西,修复了一个问题,但导致了另一个问题。理想情况下,此命令行配置将与我在var_dump中添加的MAMPIf完全相同($client->getResponse()->getContent());要查找错误,我将获得更多xcache问题:警告:xcache\u get():xcache.var\u大小为0或太小,无法在/Users/greg/Repos/hvh/vendor/aws sdk for php/lib/cachecore/cachexcache.class.php第58行中启用var数据缓存