7

尝试使用 PHP 进行 oAuth 之旅时,我感到很头疼。

我正在使用 MAC_OSX_10.7.4/MAMP/PHP 并且我指向我的 MAMP 环境中的 php。

我已经下载了最新的 oAuth php 扩展 1.2.2。

我跑过:

pecl install oauth

成功返回,当我尝试重新安装它时,我得到:

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

我已经添加了这一行:

extension=oauth.so

在我的 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";

?>

我的 php 日志中出现以下错误

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

任何想法我可能做错了什么?我检查了 php.ini 并没有出现在那里。我什至删除了现有的扩展并重新添加它们以确保我的 php.ini 已正确更新。

我能看到的唯一让我有点奇怪的是,我所有以 .so 结尾的扩展名都是 unix 可执行文件,但我的 oauth 文件是一个文档。这可能是问题吗?我添加了一个屏幕截图来显示扩展。

oauth.so 作为文档

4

1 回答 1

2

它发生在我身上,它已加载到 php 信息页面中但无法正常工作。

如果列表中显示“OAuth”,请确保真正加载了哪些模块:

php -m

确保将扩展文件“.ini”加载到正确的目录中,在我的情况下它在里面

/etc/php5/conf.d/

而不是它应该在的地方:

/etc/php5/cli/conf.d/

然后重启apache。

于 2014-04-30T14:53:48.887 回答