当我尝试使用PHP进行oAuth之旅时,我正在拔头发.
我正在使用MAC_OSX_10.7.4/MAMP/PHP,我指向我的MAMP环境中的php.
我已经下载了最新的oAuth php扩展1.2.2.
我跑了:
pecl install oauth
Run Code Online (Sandbox Code Playgroud)
哪个回来成功,当我尝试重新安装它时,我得到:
pecl/oauth is already installed and is the same as the released version 1.2.2
Run Code Online (Sandbox Code Playgroud)
我添加了这一行:
extension=oauth.so
Run Code Online (Sandbox Code Playgroud)
在我的php.ini中.但每当我尝试运行这个简单的代码来测试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";
?>
Run Code Online (Sandbox Code Playgroud)
我的php日志中出现以下错误
PHP Fatal error: Class 'OAuth' not found in /Applications/MAMP/htdocs/wemustcreate/wp-content/themes/MinimalDessign/linkedinOauth.php on line 6
Run Code Online (Sandbox Code Playgroud)
任何想法我可能做错了什么?我已经检查过php.ini并且它没有显示出来.我甚至删除了现有的扩展并重新添加它们以确保我的php.ini已正确更新.
我能看到的唯一让我感到有点奇怪的是,我以.so结尾的所有扩展都是unix可执行文件,但我的oauth文件是一个文档.这可能是问题吗?我添加了一个截图来显示扩展名.

我遇到过这样的情况:它已加载到 php 信息页面中,但无法正常工作。
如果列表中显示“OAuth”,请确保真正加载了哪些模块:
php-m
确保扩展文件“.ini”加载到正确的目录中,在我的例子中它位于里面
/etc/php5/conf.d/
而不是它应该在的地方:
/etc/php5/cli/conf.d/
然后重新启动阿帕奇。