关于插件激活,我如何检查正确的传输机制?

时间:2012-05-06 作者:Volomike

对于一个与其他地方通信的插件,我听说我们应该使用wp_remote_postwp_remote_get 而不是PHP\'s Curl library.

好的,但是有没有一种快速而正确的插件执行方法来测试博客的PHP/主机操作系统是否安装了正确的传输机制?我的意思是,我可以尝试一个测试岗位,但我认为WP可能有一个更好、更快的机制,我可以测试?执行以下操作是不可接受的:

if (!function_exists(\'curl_exec\')) {
    wp_die(\'The CURL API is not installed with PHP. You cannot use this plugin without that. Ask your web hosting provider to install it.\');
}

1 个回复
最合适的回答,由SO网友:chrisguitarguy 整理而成

我不会让插件像那样死掉。每次需要打电话或求助时,只需检查卷曲度wp_remote_(post|get) (例如,编写一个包装函数,负责检查并发送所需的数据/标头)。

但是,如果您真的想在没有安装cURL的情况下禁用插件,可以使用activation hook 检查curl_exec 功能,如果没有,则停用插件。

<?php
register_activation_hook(__FILE__, \'wpse51312_activation\');
function wpse51312_activation()
{
    if(!function_exists(\'curl_exec\'))
    {
        // Deactivate the plugin
        deactivate_plugins(__FILE__);

        // Show the error page, Maybe this shouldn\'t happen?
        wp_die(
            __(\'You must enable cURL support to use INSERT PLUGIN NAME\'),
            __(\'Error\')
        );
    }
}
无论如何,我相信HTTP api会尝试使用cURL,如果它可用的话。

结束

相关推荐

curl problem or permalinks

我刚刚配置了我的VPS,我使用的是Centos,一切都很好,但如果我将永久链接设置为自定义结构,然后接受主页,没有帖子出现,它会显示404页,我想这是因为我没有启用curl,但我不知道我的php在哪里。我的centos中的ini文件?好的,我的卷曲被启用了,我检查过了phpinfo(); 这里是URLhttp://74.117.158.182/info.php但如果我在我的wordpress中设置了永久链接,那么接受主页,所有都会给我404页,你可以在这个URL上查看http://mbas.co.in如果