2016-04-14 13 views
1

PHPのバージョンを切り替えたとき、私はバージョンを変更するには、このbashスクリプトを使用し、常にPHP 7.0とPHP 5.6の間に行く必要が複数のシステムを維持する:PHPUnitのセグメンテーションフォールト

switch-php() { 
    if [[ $1 == "5.4" ]]; then 
     brew unlink php55 php56 php70 
     PHP_VERSION="php54" 
     REPLACE=("php55" "php56" "php70") 
    elif [[ $1 == "5.5" ]]; then 
     brew unlink php54 php56 php70 
     PHP_VERSION="php55" 
     REPLACE=("php54" "php56" "php70") 
    elif [[ $1 == "5.6" ]]; then 
     brew unlink php54 php55 php70 
     PHP_VERSION="php56" 
     REPLACE=("php54" "php55" "php70") 
    elif [[ $1 == "7.0" ]]; then 
     brew unlink php54 php55 php56 
     PHP_VERSION="php70" 
     REPLACE=("php54" "php55" "php70") 
    else 
     echo "Unsupported php version." 
     return 
    fi 

    brew link --overwrite $PHP_VERSION 

    for OLD_VERSION in "${REPLACE[@]}"; do 
     sed -i "" "s/$OLD_VERSION/$PHP_VERSION/g" /usr/local/etc/apache2/2.4/httpd.conf 
    done 

    sudo apachectl -k restart 
} 

、PHPUnitが正常に動作する理由を私は知りません私はPHP 7.0に変更したときにPHP 5.6に、そして、私はこのエラーを取得する:

PHPUnit 5.3.1 by Sebastian Bergmann and contributors. 
[1] 11019 segmentation fault 

それはこのPHPUnitのインストールは、プロジェクトベースであり、それは作曲経由でインストールだと言って価値があります。

アイデア?

+0

私は、PHPUnitでより多くのログを取得することをお勧めします。 PHPUnitのそのバージョンはPHP 7.0で動作しますか? – miken32

+0

@ miken32 PHPUnit 5.3.1は実際にPHP 7.0と互換性があります – luigisrs

答えて

0

sudo apachectl -k restartの代わりに、ファイルを移動する前にApacheを停止してみてください。その後、ファイルを移動した後でApacheを起動します。

+0

これも試してみましたが、動作しません:/ – luigisrs

+1

ApacheはPHPUnit(CLIアプリケーション)と何が関係していますか? –

0

明らかに、使用していた構成XMLファイルでエラーが発生しました。同じ問題が発生した場合は、カスタム設定ファイルなしでphpunitを実行してみてください。

関連する問題