Я использую библиотеку PECL OAuth для PHP, которую я установил правильно (ну, сейчас я в этом сомневаюсь). Я использую его для аутентификации перед запросом LinkedIn API. В моем коде я создаю объект OAuth, как в примере здесь а>, см. внизу. Он получает токены, авторизует пользователя после входа в систему и успешно извлекает данные. Но самое смешное, что это работает только тогда, когда я запускаю файл .php через свой браузер (размещенный в apache).
Когда я пытаюсь скомпилировать код из командной строки, компилятор говорит: Неустранимая ошибка PHP: класс «OAuth» не найден в xxx.php в строке 15.
Очевидно, я уже отредактировал php.ini, чтобы он содержал следующее (иначе он не будет работать на веб-странице): extension=/usr/lib/php5/20090626/oauth.so
Но когда я набираю «php -m» в командной строке, я не вижу модуль oauth в списке. Я попытался получить имя/местоположение файла, вставив эти строки после создания экземпляра объекта OAuth.
$oauthc = new OAuth($oauth['linkedin']['consumerkey'], $oauth['linkedin']['consumersecret'],OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_URI);
$reflector = new ReflectionClass("OAuth");
$fn = $reflector->getFileName();
echo "[".dirname($fn)."]";
Но это только вернуло 2 скобки. Я понятия не имею, почему это, по-видимому, работает в браузере. Надеюсь, кто-нибудь может мне помочь.