Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot get Oauth PHP extension to work

Tags:

php

oauth

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.

oauth.so as a document

like image 615
Owzzz Avatar asked Aug 02 '12 20:08

Owzzz


1 Answers

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.

like image 89
Rabea Avatar answered Sep 30 '22 12:09

Rabea