컬이 활성화 또는 비활성화되었는지 확인하는 방법


81

중복 가능성 :
PHP로 함수 작성

다음 코드를 사용하고 있습니다.

echo 'Curl: ', function_exists('curl_version') ? 'Enabled' : 'Disabled';

활성화하거나 비활성화 할 수 있습니다.

하지만 함수 이름으로 말하고 싶습니다. _iscurl

그런 다음 내 웹 사이트 코드에서 다음과 같이 호출 할 수 있습니다.

if (_iscurl()){
  echo "this is enabled"; // will do an action
}else{
  echo "this is disabled"; // will do another action
}

allow_url_fopen이 활성화되었는지 여부를 확인하는 이전 질문과 거의 동일합니다.


7
왜 사용하지 function_exists('curl_version') 당신 같은 _iscurl()기능?
Anirudh Ramanathan 2011

1
작성에 대한 설명서를 참조하십시오 function, 거기에 당신의 한 줄을 팩의 교체 echoreturn하고, 원 컷 아웃.
mario

답변:


133

함수 에서 기존 수표를 반환하기 만하면 됩니다 .

function _isCurl(){
    return function_exists('curl_version');
}

4
이것은 작동하고 받아 들여지지 만 아래 답변은 내가 덜 해키라고 생각하고 코드를 읽는 다른 사람에게 더 명확합니다. 이 글을 읽으면 컬 버전을 찾을 수 있는지 확인하고 컬이로드되었는지 확인하지 않는지 구체적으로 확인하고 있다고 생각할 수 있습니다. extension_loaded('curl')훨씬 더 직접적입니다.
deweydb jul.

62
<?php

// Script to test if the CURL extension is installed on this server

// Define function to test
function _is_curl_installed() {
    if  (in_array  ('curl', get_loaded_extensions())) {
        return true;
    }
    else {
        return false;
    }
}

// Ouput text to user based on test
if (_is_curl_installed()) {
  echo "cURL is <span style=\"color:blue\">installed</span> on this server";
} else {
  echo "cURL is NOT <span style=\"color:red\">installed</span> on this server";
}
?>

또는 간단한 것-

<?
phpinfo();
?>

curl을 검색하십시오.

출처-http: //www.mattsbits.co.uk/item-164.html


46
var_dump(extension_loaded('curl'));

11
파일을 만들지 않고 명령 줄에서 빠르게 확인하려는 사람 :echo "<?php var_dump(extension_loaded('curl')); ?>" | php
The Unknown Dev

1
또는 : php -i | grep curl또는 php -r 'var_dump(extension_loaded("curl"));'^^
hakre

이것을 phpinfo 파일의 첫 번째 줄에
넣으십시오.`

8

이 코드를 php 파일에 넣어 확인할 수 있습니다.

<?php
if(in_array  ('curl', get_loaded_extensions())) {
    echo "CURL is available on your web server";
}
else{
    echo "CURL is not available on your web server";
}

또는

var_dump(extension_loaded('curl'));

8

도움이 되었기를 바랍니다.

<?php
    function _iscurl() {
        return function_exists('curl_version');
    }
?>

11
function_exists자체 반환 true또는 false. 반환 값을 반환 할 수 있습니다. 이 하나의 라이너에 대해 4 줄의 추가 코드가 필요하지 않습니다 . 또한 당신의 기능은 끝이 없습니다 }!
Prasanth

1
코드의 오버 헤드에 동의하지만 else 문에 중괄호가 필요하지 않으면 함수는 한 줄로 끝}을 갖습니다. 그러나 잘못된 들여 쓰기로 인해 실수를했을 수도 있습니다.
Sam Vloeberghs

5

언제든지 새 페이지를 만들고 phpinfo(). curl 섹션까지 아래로 스크롤하여 활성화되었는지 확인합니다.


5

확장이로드되었는지 여부를 반환하는 프로젝트에서 재사용 가능한 일반 함수를 사용하는 것이 항상 좋습니다. 다음 기능을 사용하여 확인할 수 있습니다.

function isExtensionLoaded($extension_name){
    return extension_loaded($extension_name);
}

용법

echo isExtensionLoaded('curl');
echo isExtensionLoaded('gd');

1
큰 프로젝트에서 일하고 있으며 위의 조건을 30 ~ 40 회 이상 확인하고 싶다고 가정합니다. 그런 다음 수동으로 30 ~ 40 번 작성해야하고 갑자기 프로젝트의 30 ~ 40 개 위치 모두에서 조건을 검색하고 입력해야하는 시점 이전에 몇 가지 조건으로 확인해야하는 요구 사항이 생겼습니다. 대신 재사용 가능한 함수가있는 경우 해당 조건을 함수 안에 넣을 수 있으며 코드를 검색하고 대체하거나 추가하는 오버 헤드를 피할 수 있습니다.
Channaveer Hakari

2
이것이 바로 리팩토링 도구의 용도입니다. 그러나 요점 : 필요한지 확실하지 않은 코드를 도입하면 결함으로 간주됩니다. 그래서 당신이 지명하는 이유는 제 생각에는 그렇게하지 않는 이유입니다.
hakre

좋은 생각입니다. 모든 기본 PHP 기능을 래핑하기 시작했습니다. 도서관에서 수집했습니다. 관심있는 사람 있나요?
rosell.dk

@ rosell.dk 관심이 있습니다. 감사합니다
Channaveer Hakari

@ rosell.dk LOL!
parvus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.