如何检查curl是启用还是禁用

Reh*_*hmy 76 php

可能重复:
在php中编写一个函数

我正在使用以下代码

echo 'Curl: ', function_exists('curl_version') ? 'Enabled' : 'Disabled';
Run Code Online (Sandbox Code Playgroud)

这可以启用或禁用它

但我想把函数名称作为函数 _iscurl

然后我可以将其称为跟随我的网站代码中的任何位置

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

〜谢谢

与我之前的问题几乎相同,检查是否启用了allow_url_fopen

Joh*_* V. 125

只需从函数返回现有支票即可.

function _isCurl(){
    return function_exists('curl_version');
}
Run Code Online (Sandbox Code Playgroud)

  • 这是有效的,并且被接受,但是下面的答案是我认为不那么hacky,并且对于阅读代码的其他人更清楚.如果我读了这篇文章,我可能会认为你是专门检查你是否能找到curl版本,而不是看是否加载了curl.`extension_loaded('curl')`更直接. (4认同)

Ami*_*dey 56

<?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";
}
?>
Run Code Online (Sandbox Code Playgroud)

或者简单的 -

<?
phpinfo();
?>
Run Code Online (Sandbox Code Playgroud)

只是寻找卷曲

来源 - http://www.mattsbits.co.uk/item-164.html


小智 44

var_dump(extension_loaded('curl'));
Run Code Online (Sandbox Code Playgroud)

  • 对于想要在不创建文件的情况下快速检查命令行的任何人:`echo"<?php var_dump(extension_loaded('curl'));?>"| php` (9认同)

小智 8

希望这可以帮助.

<?php
    function _iscurl() {
        return function_exists('curl_version');
    }
?>
Run Code Online (Sandbox Code Playgroud)

  • [`function_exists`](http://php.net/function_exists)本身返回`true`或`false`.你可以返回它的返回值.对于**one liner*,不需要额外的4行代码.另外,你的函数没有结束`}`! (11认同)

man*_*706 7

您可以通过将这些代码放在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";
}
Run Code Online (Sandbox Code Playgroud)

要么

var_dump(extension_loaded('curl'));
Run Code Online (Sandbox Code Playgroud)


Sam*_*ook 5

您始终可以创建一个新页面并使用phpinfo(). 向下滚动到 curl 部分,看看它是否已启用。


Cha*_*ari 5

在您的项目中使用通用的可重用函数总是更好,该函数返回是否加载了扩展。您可以使用以下功能来检查 -

function isExtensionLoaded($extension_name){
    return extension_loaded($extension_name);
}
Run Code Online (Sandbox Code Playgroud)

用法

echo isExtensionLoaded('curl');
echo isExtensionLoaded('gd');
Run Code Online (Sandbox Code Playgroud)

  • 这就是重构工具的用途。但重点是:引入您不确定是否有必要的代码,我认为这是一个缺陷。因此,在我看来,您命名的原因是不这样​​做的原因。 (2认同)