ホームページ  >  記事  >  バックエンド開発  >  システムには 2 つのバージョンの PHP があり、phpunit テストで問題が発生します。

システムには 2 つのバージョンの PHP があり、phpunit テストで問題が発生します。

WBOY
WBOYオリジナル
2016-08-08 09:25:291011ブラウズ

今日はローカルの LAMP 開発環境をセットアップします。システムに付属する php のバージョンは 5.5.14 ですが、開発には php 5.6 以降を使用する必要があるため、php 5.6 を使用します。 7がインストールされています。これにより、システムには 2 つのバージョンの php が存在することになります。

通常の開発には問題ありませんが、phpunitを使用すると、phpunitはシステム自身のphp 5.5.14を呼び出して実行します。私がインストールした PHP 拡張機能 (memcache、redis など) はすべて PHP 5.6.7 のバージョンにインストールされます。

単体テストにphpunitを使用すると、拡張機能がインストールされていないことを示すメッセージが表示されます。 (例: memcache 関数が見つかりません)。

phpunitが呼び出すphpは/usr/bin/phpなので、この場所にあるphpを現在のphp5.6.7バージョンに指定すると問題を解決できます。

解決策は次のとおりです:

1. 現在使用しているphpのバージョンを確認します

php -v
PHP 5.6.7 (cli) (built: Apr 20 2015 23:10:47) (DEBUG)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Xdebug v2.3.2, Copyright (c) 2002-2015, by Derick Rethans

2. /usr/bin/php


のバージョンを確認します。 3. /usr/bin/php のバージョンをバックアップします。問題が発生した場合に復元できます

/usr/bin/php -v
PHP 5.5.14 (cli) (built: Sep  9 2014 19:09:25) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

4. /usr/bin/php を削除します

sudo cp /usr/bin/php /usr/bin/php55

5. /usr/bin/php php5.6.7 php

sudo rm /usr/bin/php

を指す 6. /usr/bin/php が更新されているか確認します

sudo ln -s /usr/local/Cellar/php56/5.6.7/bin/php /usr/bin/php

実行後、問題は解決します。

上記では、phpunit テストの側面を含め、システム内に 2 つのバージョンの PHP が存在することによって引き起こされる問題の解決策を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHPer+次の記事:PHPer+