오늘은 로컬 LAMP 개발 환경을 설정해보겠습니다. 시스템에 포함된 PHP 버전은 5.5.14이지만, 개발용은 php 5.6 이상이므로 php 5.6.7이 설치되어 있습니다. 이로 인해 시스템에 두 가지 버전의 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
/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
sudo cp /usr/bin/php /usr/bin/php55
sudo rm /usr/bin/php
sudo ln -s /usr/local/Cellar/php56/5.6.7/bin/php /usr/bin/php
/usr/bin/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
실행 후 문제가 해결되었습니다.
위 내용은 phpunit 테스트 내용을 포함하여 시스템에 두 가지 버전의 PHP가 존재함으로써 발생하는 문제에 대한 해결책을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.