How To Check if the cURL PHP extension is loaded

There is not a lot of information about checking if a particular extension is loaded and the few tidbits there are on the internet, are very impractical, so I decided to dig a bit deeper and I came up with my own solution.

The following function returns TRUE if it can find the cURL extension installed, and FALSE if it fails to find it.

// ### Checks for presence of the cURL extension.
function _iscurlinstalled() {
	if  (in_array  ('curl', get_loaded_extensions())) {
		return true;
		return false;

Sample usage:

if (_iscurlinstalled()) echo "cURL is installed"; else echo "cURL is NOT installed";
Read also  WordPress Functions.php Code Collection on Stackexchange

11 thoughts on “How To Check if the cURL PHP extension is loaded”

  1. You may also use ‘function_exists’ function to check that. Simple code will be:
    echo ‘cURL is’.(function_exists(‘curl_open’) ? ” : ‘ not’).’ installed’;


      Hi Dmitry

      Auch, that code is so much cleaner and simpler. Thank you for that tip, I never even thought to use the function_exists() function.

      Thanks 🙂

    2. Moondog604

      Dmitry there is an error with your code. I was testing and of course it was giving me a false positive. curl_open is not a function, curl_init is what you should have tested with. Once I made the change I was getting a message saying cURL was enabled.

      echo 'cURL is'.(function_exists('curl_init') ? '' : ' not').' installed';
  2. `if ( function_exists(‘curl_version’) == “Enabled” ){ //do something; };`
    Virker også fint. // works a charm.

    1. Lars Koudal

      Hi Emil

      I see my initial post was complete overkill, your method is definitely better to use 🙂

  3. …and your own code could have been much cleaner:

    function _iscurlinstalled() {
    return in_array(‘curl’, get_loaded_extensions())

  4. Great Example. I uploaded both code blocks into one test_curl.php and it worked fine.

Leave a Comment

Your email address will not be published. Required fields are marked *