यह जांचने के लिए कि कर्ल सक्षम या अक्षम है या नहीं


83

संभावित डुप्लिकेट:
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
}

मेरे पिछले प्रश्न के लगभग समान ही अगर check_url_fopen सक्षम है या नहीं


7
function_exists('curl_version') अपने _iscurl()फ़ंक्शन के रूप में उपयोग क्यों न करें ?
अनिरुद्ध रामनाथन

1
एक लिखने पर मैनुअल देखें function, अपने एक-लाइनर को वहां पैक करें, echoसाथ बदलें returnऔर टर्नरी को काट लें।
मारियो

जवाबों:


134

बस एक फ़ंक्शन से अपने मौजूदा चेक को वापस करें ।

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

4
यह काम करता है, और स्वीकार किया जाता है, लेकिन नीचे दिए गए जवाब हैं कि मैं क्या कम हैकी पर विचार करूंगा, और कोड पढ़ने वाले किसी और व्यक्ति के लिए अधिक स्पष्ट होगा। यदि मैं इसे पढ़ता हूं, तो मुझे लगता है कि आप विशेष रूप से यह देखने के लिए जांच कर रहे हैं कि क्या आप कर्ल संस्करण पा सकते हैं, और यह देखने के लिए कि क्या कर्ल लोड नहीं है। extension_loaded('curl')बहुत अधिक प्रत्यक्ष है।
डेवीडब

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();
?>

बस कर्ल की खोज करें

स्रोत - http://www.mattsbits.co.uk/item-164.html


47
var_dump(extension_loaded('curl'));

12
बिना फाइल echo "<?php var_dump(extension_loaded('curl')); ?>" | php
अज्ञात देव

1
या: php -i | grep curlया php -r 'var_dump(extension_loaded("curl"));'^ ^
हैकर

सिर्फ एक phpinfo फ़ाइल में डाल, पहली लाइन में: `;` <php var_dump (extension_loaded ( 'कर्ल'))?>
sjas

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 अतिरिक्त लाइनों की आवश्यकता नहीं है । इसके अलावा, आपके फ़ंक्शन का अंत नहीं है }!
प्रशांत

1
कोड में ओवरहेड पर सहमत हैं, लेकिन फ़ंक्शन के पास एक पंक्ति के रूप में} एक पंक्ति है यदि अन्य विवरणों को घुंघराले कोष्ठक की आवश्यकता नहीं है। लेकिन शायद बुरे आक्रोश ने आपको वह गलती कर दी।
सैम क्लोएबरघ्स

5

आप हमेशा एक नया पेज बना सकते हैं और उपयोग कर सकते हैं phpinfo()। कर्ल अनुभाग को नीचे स्क्रॉल करें और देखें कि क्या यह सक्षम है।


5

अपनी परियोजना में एक सामान्य पुन: प्रयोज्य फ़ंक्शन के लिए जाना हमेशा बेहतर होता है, जो वापस लौटाता है कि क्या एक्सटेंशन लोड किया गया है। जाँच करने के लिए आप निम्न फ़ंक्शन का उपयोग कर सकते हैं -

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

प्रयोग

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

1
मान लें कि आप एक बड़ी परियोजना में काम कर रहे हैं और 30 से 40 बार से अधिक उपरोक्त स्थिति की जांच करना चाहते हैं। फिर आपको मैन्युअल रूप से 30 से 40 बार लिखने की आवश्यकता है और अचानक आपको आवश्यकता है कि आपको उस स्थिति से पहले कुछ शर्त के साथ जांच करने की आवश्यकता है, आपको अपनी परियोजना में सभी 30 - 40 स्थानों पर खोज करने और शर्त लगाने की आवश्यकता है। इसके बजाय यदि आपके पास पुन: प्रयोज्य फ़ंक्शन था, तो आप उस स्थिति को फ़ंक्शन के अंदर रख सकते हैं और कोड को खोजने और बदलने या जोड़ने के ओवरहेड से बच सकते हैं।
चन्नवीर हक्वारी

2
यही कारण है कि refactoring उपकरण हैं। लेकिन इस बिंदु पर: कोड का परिचय, जिसे आप निश्चित रूप से नहीं जानते हैं कि यह आवश्यक है कि मैं एक दोष पर विचार करूंगा। तो आपके नाम का कारण मेरी राय में ऐसा नहीं करने का एक कारण है।
हकरे

महान विचार। मैंने सभी मूल php फ़ंक्शन को लपेटना शुरू कर दिया है। मैंने उन्हें एक पुस्तकालय में एकत्र किया। किसी को दिलचस्पी है?
rosell.dk

@ rosell.dk मुझे दिलचस्पी है कि कृपया मुझे इसमें लूप दें। धन्यवाद
चन्नवीर हकीरी

@ rosell.dk LOL!
parvus
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.