2017-07-20 5 views
0

私は、厳密な構文チェックを実行したいでしょう:トラヴィスCIでの私のプロジェクト内のすべてのphpファイルに対して Travis CIでphpファイルの構文をチェックする方法は?

$ php -d error_reporting=32767 -l test.php 

を。

私は見つける使用しようとしたが、それは常にちょうどexecフラグのためのコマンドがはに何かを返す + PHPを見つけた場合、私がチェックすることでこれを解決し

$ find . -type f -name "*.php" -exec php -d error_reporting=32767 -l {} \; 
PHP Parse error: syntax error, unexpected end of file, expecting ',' or ';' in ./test.php on line 3 
$ echo $? 
0 

答えて

1

を失敗した場合でも0を返しますSTDERR。

before_script: 
    - '! find . -type f -name "*.php" -exec php -d error_reporting=32767 -l {} \; 2>&1 >&- | grep "^"' 

これはどのように機能しますか?追加:任意のコマンドがSTDOUTを削除し、STDOUTにSTDERRをリダイレクト

2>&1 >&- 

後。出力ははgrepで任意の行が含まれている場合

はその後、我々は単に確認することができます:それは何かとを見つけた場合はgrepはを返すため

が続い
| grep "^" 

それが何かを見つけることができなかった場合、我々このコマンドの最初に感嘆符を使用して最終結果を否定する必要があります。それ以外の場合は、すべてが正常で失敗したときにこのコマンドは失敗します。

関連する問題