سؤال

أحاول إنشاء مزود OAUTH باستخدام PHP وهو فئة OAUTH الرسمية.

أنا فقط أحاول جعل الموفر يتعامل مع الطلب ، لكنه يعطيني segfault في الواقع.

ها هو مزود

<?php

    class Provider{

        private $oauth;

        public function __construct(){

            try {

            /* create our instance */
            $this->oauth = new OAuthProvider();

            /* setup check functions */
            $this->oauth->consumerHandler(array($this,'checkConsumer'));
            $this->oauth->timestampNonceHandler(array($this,'checkNonce'));
            $this->oauth->tokenHandler(array($this,'checkToken'));

            /* If we are issuing a request token we need to disable checkToken */
            if(strstr($_SERVER['REQUEST_URI'],"oauth/request_token")){
                $this->oauth->isRequestTokenEndpoint(true); 
            }

            /* now that everything is setup we run the checks */
                $this->oauth->checkOAuthRequest(null,OAUTH_HTTP_METHOD_GET);
            } catch(OAuthException $E){
                echo OAuthProvider::reportProblem($E);
                $this->oauth_error = true;
            }


        }

        public function checkConsumer($provider){
            $provider->consumer_secret = "secret";
            return OAUTH_OK;
        }

        public function checkToken($provider){
            return OAUTH_OK;
        }

        public function checkNonce($provider){
            return OAUTH_OK;
        }

    }
?>

وهنا موكلي الذي أستخدمه للاختبار.

<?php
    $oauth_client = new Oauth("key","secret");
    try {
        $oauth_client->getRequestToken("http://localhost/OAuthProviderExample/oauth/request_token");
    } catch(OAuthException $E){
        echo $E;
    }
?>

العميل يخرج هذا

exception 'OAuthException' with message 'making the request failed (dunno why)' in /var/www/OAuthProviderExample/client/index.php:4 Stack trace: #0 /var/www/OAuthProviderExample/client/index.php(4): OAuth->getRequestToken('http://localhos...') #1 {main}

ويظهر سجل الخطأ هذا

[Fri Jan 07 09:33:45 2011] [notice] child pid 3662 exit signal Segmentation fault (11)
[Fri Jan 07 09:33:45 2011] [notice] child pid 3663 exit signal Segmentation fault (11)

ليس لدي أدنى فكرة عما يجب فعله الآن!

هل كانت مفيدة؟

المحلول

يبدو أن هناك خطأ في الإصدار 1.0.0 في PECL.

تجميع من صندوق ثابت من أجلي

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top