2016-09-13 12 views
0

curl이 명령 줄에서 실행되는 스크립트에서 PHP를 사용하여 설치되었는지 확인하려고합니다. 나는 시도 다음오류없이 PHP에서 curl을 사용할 수 있는지 테스트하는 방법

if(@function_exists('curl_version')){ 
... 
} 

error_reporting(E_ERROR); 
ini_set('display_errors', '0'); 

if(is_callable('curl_init')){ 
... 
} 

을하지만 두 경우 모두에서 나는이 메시지를 얻을 :

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-zts-20121212/curl.so' - /usr/local/lib/php/extensions/no-debug-zts-20121212/curl.so: cannot open shared object file: No such file or directory in Unknown on line 0 

내가 오류 메시지를 숨길 선호를하지만,이 나타납니다 @ 및 error_reporting이 작동하지 않습니다. 이 메시지를 표시하지 않을 수있는 다른 방법이 있습니까?

+1

가능한 복제 [컬의 활성화 또는 비활성화되어 있는지 확인하는 방법] (http://stackoverflow.com/questions/13433946/how- to-check-if-curl-is-enabled-or-disabled) –

+2

문제가있는 것과 같은 소리는 configs가 확장 기능을 참조하지 않고 configs를 참조하는 것과 더 관련이 있습니다. 'PHP Startup'에 주목하십시오. –

+2

좋은 개발자로서 오류, 경고 등을 숨기는 것을 선호해서는 안됩니다. 대신에 원인을 해결하십시오. –

답변

3

당신이 당신의 설치 extionsions

$needed_extensions = array('curl', '... other extionsions to check'); 
    $missing_extensions = array(); 
    foreach ($needed_extensions as $needed_extension) { 
     if (!extension_loaded($needed_extension)) { 
      $missing_extensions[] = $needed_extension; 
     } 
    } 
    if (count($missing_extensions) > 0) { 
     echo 'This software needs the following extensions, please install/enable them: ' . implode(', ', $missing_extensions) . PHP_EOL; 
     exit(1); 
    } 

'확인할 수 있습니다

+0

나는 이것을 시도했지만 확장이로드되지 않았음에도 불구하고 경고가 계속 나타났다. – raphael75

+1

이 가능합니다. php.ini 파일에서 확장 기능을 활성화했지만 하드 디스크에는 존재하지 않습니다. – mirko911