확장을 어디에서 찾나요?

PHP 확장은 일반적으로 "php_*.dll"(별은 확장 이름)로 불리고, "PHP\ext"(PHP 4에서는 "PHP\extensions") 폴더에 위치하고 있습니다.

PHP는 대다수의 개발자에게 가장 유용한 확장을 포함하고 있습니다. 이들은 "핵심" 확장이라고 불립니다.

그러나, 핵심 확장에서 지원하지 않는 기능이 필요하면, PECL에서 찾을 수 있습니다. PHP Extension Community Library (PECL)는 PHP 확장의 저장고로, 알려진 모든 알려진 확장의 디렉토리를 제공하고, PHP 확장 개발과 내려받기에 필요한 기능을 지원합니다.

스스로 사용할 확장을 개발했다면, PECL에 올려서 같은 요구를 가진 다른 사람들에게 혜택을 제공할 수 있습니다. 좋은 추가 효과로 다른 사람들의 피드백, 감사, 버그 보고와 심지어 픽스/패치를 받을 수 있습니다. PECL에 확장을 제공하기 전에, http://pecl.php.net/package-new.php를 읽어보십시오.

어떤 확장을 내려받나요?

많은 경우에, 각 DLL의 여러 버전을 찾을 수 있습니다:

  • 다른 버전 번호 (적어도 처음 두 숫자는 일치)
  • 쓰레드 안전 설정 차이
  • 프로세서 설정 차이 (x86, 64비트...)
  • 디버그 설정 차이
  • 기타

확장 설정이 사용하는 PHP 실행 설정과 일치해야만 합니다. 다음 PHP 스크립트가 모든 PHP 설정을 알려줍니다:

<?php
phpinfo();
?>

또는 명령줄에서, 실행:

drive:\\path\to\php\executable\php.exe -i

확장 적재하기

PHP 확장을 적재하는 가장 일반적인 방법은 php.ini 설정 파일에 포함하는 것입니다. 많은 확장이 이미 php.ini에 존재하고, 세미콜론을 제거하면 바로 활성화됩니다.

;extension=php_extname.dll
extension=php_extname.dll

그러나, 일부 웹서버는 PHP 실행에 놓여있는 php.ini를 사용하지 않아서 혼동을 가져옵니다. 정확한 php.ini의 위치를 확인하려면, phpinfo()에서 경로를 찾아보십시오:

Configuration File (php.ini) Path  C:\WINDOWS
Loaded Configuration File  C:\Program Files\PHP\5.2\php.ini

확장을 활성화한 후, php.ini을 저장, 웹서버를 재시작하고 phpinfo()를 다시 확인하십시오. 새 확장이 자신의 섹션을 가지고 있어야 합니다.

문제 해결

확장이 phpinfo()에 나타나지 않으면, 어디서 문제가 발생하였는지 로그를 확인해야 합니다.

PHP를 명령줄(CLI)에서 사용한다면, 확장 적재 오류를 화면에서 바로 읽을 수 있습니다.

PHP를 웹서버에서 사용하면, 로그의 위치와 형식은 웹서버 소프트웨어에 의존합니다. 웹서버 문서에서 로그 위치를 찾아서 읽어보십시오. PHP 자체로는 아무것도 하지 않습니다.

일반적인 문제는 DLL 위치입니다. php.ini 안의 "extension_dir" 값이 컴파일시 설정과 일치하지 않아서 발생합니다.

문제가 컴파일시 설정이 일치하지 않는 것이라면, 아마도 옮은 DLL을 내려받지 않았을 것입니다. 적합한 설정을 가진 확장을 다시 내려받아 보십시오. 다시 말하지만, phpinfo()가 큰 도움이 될 것입니다.

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top