PHP SEG Ошибка с использованием класса Pear Oauth Provider
-
30-09-2019 - |
Вопрос
Я пытаюсь создать провайдер OAuth, используя PHP и официальный класс ОАУТ.
Я просто пытаюсь заставить провайдер обрабатывать запрос, но это дает мне два 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.
Компиляция от багажника исправлено это для меня
Не связан с StackOverflow