dl — 런타임에 PHP 확장을로드합니다.
설명 ¶
bool dl ( string $library )
매개 변수 라이브러리가 제공 한 PHP 확장을로드합니다.
Warning
이 함수는 PHP 5.3.0에서 대부분의 SAPI에서 제거되었으며 PHP 7.0.0에서 PHP-FPM에서 제거되었습니다.
인수 ¶
library
이 매개 변수는로드 할 확장 파일의 파일 이름이며 플랫폼에 따라 다릅니다. 예를 들어, 소켓 모듈 (공유 모듈로 컴파일 된 경우 기본값은 아닙니다!)은 유닉스 플랫폼에서는 sockets.so로, Windows 플랫폼에서는 php_sockets.dll이라고합니다.
확장 프로그램이로드되는 디렉토리는 플랫폼에 따라 다릅니다.
Windows - php.ini에 명시 적으로 설정되지 않은 경우 확장 프로그램은 기본적으로 C : \ php4 \ extensions \ (PHP 4) 또는 C : \ php5 \ (PHP 5)에서로드됩니다.
Unix - php.ini에 명시 적으로 설정되지 않은 경우 기본 확장 디렉토리는 다음에 따라 다릅니다.
PHP가 --enable-debug로 빌드되었는지 여부
PHP가 (실험적) ZTS (Zend Thread Safety) 지원으로 구축되었는지 여부
현재 내부 ZEND_MODULE_API_NO (젠드 내부 모듈 API 번호, 기본적으로 메이저 모듈 API 변경이 발생한 날짜입니다 (예 : 20010901)
위의 내용을 고려할 때 디렉토리의 기본값은 <install-dir> / lib / php / extensions / <debug-or-not> - <zts-or-not> -ZEND_MODULE_API_NO입니다. / usr / local / php / lib / php / extensions / debug-non-zts-20010901 또는 / usr / local / php / lib / php / extensions / no-debug-zts-20010901에 있습니다.
반환값 ¶
성공 시 TRUE를, 실패 시 FALSE를 반환합니다. If the functionality of loading modules is not available or has been disabled (either by setting enable_dl off or by enabling 안전 모드 in php.ini) an E_ERROR is emitted and execution is stopped. If dl() fails because the specified library couldn't be loaded, in addition to FALSE an E_WARNING message is emitted.
Example #1 dl() examples
<?php
// Example loading an extension based on OS
if (!extension_loaded('sqlite')) {
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
dl('php_sqlite.dll');
} else {
dl('sqlite.so');
}
}
// Or, the PHP_SHLIB_SUFFIX constant is available as of PHP 4.3.0
if (!extension_loaded('sqlite')) {
$prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>
'IT > php' 카테고리의 다른 글
php get_loaded_extensions — 적재된 모든 모듈명을 배열로 반환합니다 (0) | 2017.01.22 |
---|---|
php extension_loaded — 확장 기능로드 여부 확인 (0) | 2017.01.22 |
php set_time_limit — 최대 실행 시간을 제한 (0) | 2017.01.19 |
sleep — 지연 실행 (0) | 2017.01.19 |
php highlight_file — 파일의 구문 강조 표시 (0) | 2017.01.19 |