Cannot get Oauth PHP extension to work

时光总嘲笑我的痴心妄想 提交于 2019-12-21 12:17:48

问题


I''m pulling my hair out when trying to carry out an oAuth journey using PHP.

I'm using a MAC_OSX_10.7.4/MAMP/PHP and I am pointing to the php inside my MAMP environment.

I have downloaded the latest oAuth php extension 1.2.2.

I've run:

pecl install oauth

Which came back successful, when I try to reinstall it I get:

pecl/oauth is already installed and is the same as the released version 1.2.2

I have added the line:

extension=oauth.so

in my php.ini. but whenever I try and run this simple bit of code to test out oauth:

    <?php

define("CONSUMER_KEY", "dgqcifzjqksh");
define("CONSUMER_SECRET", "73Ft6jKqe3A7sCsc");

$oauth = new OAuth(CONSUMER_KEY, CONSUMER_SECRET);

echo "oauth token" . $oauth;
$request_token_response = $oauth->getRequestToken('https://api.linkedin.com/uas/oauth/requestToken');

if($request_token_response === FALSE) {
        throw new Exception("Failed fetching request token, response was: " . $oauth->getLastResponse());
} else {
        $request_token = $request_token_response;
}

print "Request Token:\n";
printf("    - oauth_token        = %s\n", $request_token['oauth_token']);
printf("    - oauth_token_secret = %s\n", $request_token['oauth_token_secret']);
print "\n";

?>

I get the following error in my php logs

PHP Fatal error:  Class 'OAuth' not found in /Applications/MAMP/htdocs/wemustcreate/wp-content/themes/MinimalDessign/linkedinOauth.php on line 6

Any Ideas what I might be doing wrong? I've checked php.ini and it doesnt show up there. I have even removed existing extensions and re added them to make sure my php.ini was updated correctly.

The only thing I can see which stikes me as being slightly odd is that all my extensions ending with .so are all unix executable files but my oauth file is a document. could this be the problem? I have added a screenshot to show the extensions.


回答1:


It happened with me that it is loaded in the php info page but not working.

Make sure what modules are really loaded, if "OAuth" is showing in the list:

php -m

Make sure that the extension file ".ini" is loaded in the right directory, in my case it was inside

/etc/php5/conf.d/

instead of where it is supposed to be:

/etc/php5/cli/conf.d/

Then restart apache.



来源:https://stackoverflow.com/questions/11785141/cannot-get-oauth-php-extension-to-work

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!