jenkins自动构建laravel 4时,phpunit执行时vendor/autoload.php报语法错误


在同一个环境下,php在终端使用ant构建项目执行phpunit测试没有问题,但是在jenkins自动构建时会报错:

phpunit:
[exec] PHP Parse error: syntax error, unexpected '<<' (T_SL) in /var/lib/jenkins/jobs/hwawoontest/workspace/vendor/autoload.php on line 7
[exec] PHP Stack trace:
[exec] PHP 1. {main}() /usr/local/bin/phpunit:0
[exec] PHP 2. PHPUnit_TextUI_Command::main() /usr/local/bin/phpunit:612
[exec] PHP 3. PHPUnit_TextUI_Command->run() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:138
[exec] PHP 4. PHPUnit_TextUI_Command->handleArguments() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:148
[exec] PHP 5. PHPUnit_TextUI_Command->handleBootstrap() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:651
[exec] PHP 6. PHPUnit_Util_Fileloader::checkAndLoad() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:817
[exec] PHP 7. PHPUnit_Util_Fileloader::load() phar:///usr/local/bin/phpunit/phpunit/Util/Fileloader.php:77
[exec] PHP 8. include_once() phar:///usr/local/bin/phpunit/phpunit/Util/Fileloader.php:93

BUILD FAILED
/var/lib/jenkins/jobs/hwawoontest/workspace/build.xml:168: exec returned: 255


autoload.php的代码:

<?php
// autoload.php @generated by Composer
require_once DIR . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInit34c7d9c593778809996626035f6ae5ee::getLoader();

下面这一段是build.xml的代码片段:


 <target name="phpunit" description="Run unit tests with PHPUnit">
    <exec executable="phpunit" failonerror="true">
        <arg value="-c" />
        <arg value="${basedir}/phpunit.xml.dist" />
        <arg value="--coverage-html" />
        <arg value="${basedir}/build/coverage" />
    </exec>
</target>

为什么会这样,哪里有问题?

laravel Ubuntu php

不倒滴仙翁 11 years, 6 months ago

Your Answer