11

我正在尝试连接到 LinkedIn API,但每次尝试访问它时都会出现以下错误:

致命错误:在第 8 行的 /home/vhosts/ * /test.php 中找不到类“OAuth”

我在 000WebHost 上使用免费服务器,并且我读到免费服务器有时不支持 OAuth。我已经在另一台免费服务器上尝试过,并且收到相同的错误消息,所以我的问题是如何检查服务器是否支持使用 OAuth?

这是我的代码:

// Fill the keys and secrets you retrieved after registering your app
$oauth = new OAuth("abcd123456", "efgh987654");
$oauth->setToken("abcd1234-efgh987-9988", "9876abcd-123asdf-1122");

$params = array();
$headers = array();
$method = OAUTH_HTTP_METHOD_GET;

// Specify LinkedIn API endpoint to retrieve your own profile
$url = "http://api.linkedin.com/v1/people/~";

// By default, the LinkedIn API responses are in XML format. If you prefer JSON, simply       specify the format in your call
// $url = "http://api.linkedin.com/v1/people/~?format=json";

// Make call to LinkedIn to retrieve your own profile
$oauth->fetch($url, $params, $method, $headers);

echo $oauth->getLastResponse();

键被替换为 LikedIn 开发人员入门指南中的键。

预先感谢您的帮助。

4

4 回答 4

11

OAuth 是一个 PECL 扩展,它必须编译成 PHP 或编译为扩展。

大多数服务器默认情况下不会有它,因为它确实不是每个人都可能使用的东西。如果像我一样使用 CGI,您可以要求您的主机安装它,或者如果您有能力在服务器上编译它。如果你运行 phpinfo(); 并寻找 OAuth 这个词,如果你有它就会出现,否则你没有。


更新:使用https://github.com/Lusitanian/PHPoAuthLib而不是 PECL。

于 2012-12-11T15:11:35.603 回答
2

我使用 hostgator 进行托管并且遇到了这个问题,所以如果您的主机也使用 cpanel,您应该能够做我所做的事情。

从文件管理器中的活动目录向上转到 1 个目录,您可以在其中看到“public_html, www, tmp”。(或单击左侧的主文件夹图标),您应该在其中找到一个 php.ini 文件。编辑添加extension=oauth.so到最后的文件并保存。

之后检查 phpinfo(),您应该会找到一个名为“OAuth”的部分,并且一切正常。

于 2016-05-14T18:51:50.030 回答
1
sudo apt-get update
sudo apt-get install php-oauth
sudo service apache2 restart
于 2020-12-06T17:13:21.567 回答
0

对于 php 5.6... 首先声明:您需要尽快迁移到最新的稳定版 php 7,而不是运行 php 5.6!但如果这还不太可能,这可能会对 Ubuntu 16.04 用户有所帮助。这假设您有 ondrej/php ppa。

sudo apt-get update
sudo apt-get install libpcre3-dev
sudo apt-get install php-pear            # * see note below 
sudo apt-get install php5.6-dev          # for phpize
sudo pecl install oauth-1.2.3

# now add "extension=oauth.so" (sans quotes) to the 
# "Dynamic Extensions" area in /etc/php/5.6/apache2/php.ini

* 根据这篇文章 https://askubuntu.com/a/756186/343695 “php-pear pull[s] 只是 CLI PHP 7.0 (php7.0-cli),这是无害的”该评论是在 2016 年发表的,可能不再是真的。我还没有看到任何问题。

于 2019-11-28T07:32:33.873 回答