首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预提交Git上的PHPUnit似乎使用不同的PHP版本。

预提交Git上的PHPUnit似乎使用不同的PHP版本。
EN

Stack Overflow用户
提问于 2014-01-21 20:53:21
回答 1查看 1.2K关注 0票数 2

我正在尝试设置一个预提交git挂钩,它将运行并验证我们的单元测试。我们在Symfony 2平台上使用PHPUnit。

出于某种原因,当我通过git钩子运行单元测试时,它似乎使用的是不同版本的PHP。

当我检查我的php版本时,我得到:

代码语言:javascript
复制
php -v
PHP 5.4.14 (cli) (built: May  8 2013 10:23:18) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
    with Xdebug v2.2.1, Copyright (c) 2002-2012, by Derick Rethans

这是我的吉特钩:

代码语言:javascript
复制
#!/usr/bin/php
<?php
// Hook configuration
$project = 'My Project';

// Tell the commiter what the hook is doing
echo PHP_EOL;
echo '>> Starting unit tests'.PHP_EOL;

// Execute project unit tests
exec('bin/phpunit -c app/', $output, $returnCode);

// if the build failed, output a summary and fail
if ($returnCode !== 0)
{
    // find the line with the summary; this might not be the last
    while (($minimalTestSummary = array_pop($output)) !== null)
    {
        if (strpos($minimalTestSummary, 'Tests:') !== false)
        {
            break;
        }
    }

    // output the status and abort the commit
    echo '>> Test suite for '.$project.' failed:'.PHP_EOL;
    echo $minimalTestSummary;
    echo chr(27).'[0m'.PHP_EOL; // disable colors and add a line break
    echo PHP_EOL;
    exit(1);
}

echo '>> All tests for '.$project.' passed.'.PHP_EOL;
echo PHP_EOL;
exit(0);

当我手动运行单元测试(来自我的项目目录的“bin/phpunit -c app/”)时,测试执行时没有出现错误。当我通过git钩子运行测试时,我会得到一个PHP分析错误。我已经确定,解析错误源于使用PHP 5.4中添加的数组括号表示法(‘key’=‘value’)

当我在git钩子中回显php -v时,我得到以下输出

代码语言:javascript
复制
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

由于Zend引擎是不同的(手动运行时为2.4.0,通过git挂钩运行时为2.3.0 ),所以我假设会出现PHP版本不匹配的情况。

有人知道为什么会发生这种事吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-01-21 22:29:40

PATH git/phpunit可执行最有可能看到一个与shell不同的环境变量(bash/zsh/.)可执行文件。

如果程序查找,即php -将使用来自您的PATH变量的第一个匹配。

您可能是在将一个包含不同PHP可执行文件的文件夹添加到一个shell启动文件中的PATH变量中。

可能的档案包括:

代码语言:javascript
复制
/etc/profile
/etc/zshenv
/etc/bashrc
~/.profile
~/.bashrc
~/.zshrc
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21268879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档