11

LinkedIn APIに接続しようとしていますが、アクセスしようとするたびに次のエラーが発生します。

致命的なエラー:クラス'OAuth'が/home / vhosts /*/test.phpの8行目に見つかりませ

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という単語を探します。ある場合は表示されますが、ない場合は表示されません。


更新: PECLの代わりにhttps://github.com/Lusitanian/PHPoAuthLibを使用してください。

于 2012-12-11T15:11:35.603 に答える
2

私はホスティングにhostgatorを使用していますが、この問題が発生していたため、ホストがcpanelも使用している場合は、私が行ったことを実行できるはずです。

「public_html、www、tmp」が表示されているファイルマネージャのライブディレクトリから1つ上のディレクトリに移動します。(または左側のホームフォルダアイコンをクリックします)そしてそこに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 5.6を実行するのではなく、できるだけ早く最新の安定したphp 7に移行する必要があります!しかし、それがまだ不可能な場合は、Ubuntu16.04ユーザーに役立つ可能性があります。これは、ondrej /phpppaがあることを前提としています。

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-pearpull[s ]はCLIPHP7.0(php7.0-cli)だけで、それは無害です"このコメントは2016年に作成されたものであり、今後は使用できなくなる可能性があります。本当だ。問題は見られませんでした...まだです。

于 2019-11-28T07:32:33.873 に答える