PHP에서 특정 확장 기능이 필요한 경우가 있는데 몇 가지 방법으로 로드된 확장 기능을 확인할 수 있습니다.
가능한 방법은 PHP 정보표로 보는 방법, 확장 기능 함수로 보는 방법, 콘솔에서 보는 방법이 있습니다.
PHP 정보표로 보는 방법
PHP 정보표로 보는 방법은 다음과 같은 PHP 파일을 만듭니다.
<?php phpinfo(); ?>
이렇게 코딩한 후 적당한 이름(이를테면 phpinfo.php)으로 저장해서 서버에 올립니다.
그리고 웹 브라우저를 이용해서 그 PHP 파일을 불러오면 phpinfo()
함수에 의해 PHP 정보표가 나옵니다. 이 정보표에는 활성화된 확장 기능도 함께 나옵니다.
이 방법은 각 확장 기능의 상세정보를 함께 보여준다는 장점이 있으나, 그 특성 때문에 활성화된 확장 기능들이 무엇인지를 한눈에 파악하기 어렵다는 단점이 있습니다.
확장 기능 함수로 보는 방법
확장 기능 함수로 보는 방법은 다음과 같은 PHP 파일을 만듭니다.
<?php print_r( get_loaded_extensions() ); ?>
이렇게 코딩한 후 역시 적당한 이름으로 저장해서 서버에 올립니다.
그리고 웹 브라우저를 이용해서 그 PHP 파일을 불러오면 설치된 확장 기능 목록이 Array( [0] => Core [1] => date [2] => ereg … ) 이런 식으로 나타납니다. get_loaded_extensions()
함수는 활성화된 확장 기능의 목록을 배열 형태로 돌려주는 함수입니다.
이 방법은 그냥 확장 기능의 목록만 보여주기 때문에 활성화된 확장 기능들이 무엇인지 한눈에 파악하기 쉽다는 장점이 있습니다. 다만 너무 많은 확장 기능이 있을 경우 읽기가 어려워지는 단점이 있습니다. 이를 해결하기 위해 다음과 같이 코딩할 수도 있습니다.
<pre><?php print_r( get_loaded_extensions() ); ?></pre>
또는
<?php header("Content-Type: text/plain"); print_r( get_loaded_extensions() ); ?>
이렇게 코딩하면 한 확장 기능에 한 줄씩 차지하므로 읽기가 조금 더 쉬워집니다.
응용으로 extension_loaded()
함수가 있습니다. 이 함수는 특정 확장 기능의 활성화 여부를 알기 위해 사용하는 함수로 확장 기능 이름으로 된 문자열을 인자로 넣으면 그 이름의 확장 기능이 활성화됐는지의 여부를 참 또는 거짓으로 돌려줍니다.
콘솔에서 보는 방법
별도의 PHP 문서를 만들지 않고 콘솔에서 직접 확인하는 방법이 있습니다.
$ php -m [PHP Modules] bcmath bz2 calendar Core ctype date ... $
이런 식으로 콘솔에 ‘php -m
‘이라고 치면 로드된 모듈들을 볼 수 있으며 그 중에 확장 기능도 볼 수 있습니다.
이 방법은 별도의 PHP 문서를 만들 필요가 없다는 장점이 있으나, 모듈들을 모두 보여주기 때문에 확장 기능을 한눈에 파악하기는 다소 어렵고 화면에 다 들어가지 않고 넘치는 경우가 많다는 단점이 있습니다. 이를 해결하려면 한 화면에 표시되는 줄 수를 늘리거나, 스크롤 기능이 지원되는 터미널을 이용하거나, 명령어 뒤에 ‘|more
‘를 추가해서(작은 따옴표 제외) 입력하는 방법이 있습니다. 또한, 콘솔 접속을 이용할 수 없는 환경이라면 이 방법을 쓸 수 없다는 단점이 있습니다.
결론은 두 번째의 ‘확장 기능 함수로 보는 방법’이 가장 무난합니다.