Я использую библиотеку PECL OAuth для PHP, которую я правильно установил (ну, я сейчас в этом сомневаюсь). Я использую его для аутентификации перед запросом API LinkedIn.
В моем коде я создаю объект OAuth, как в примере здесь , см. Внизу. Он получает токены, авторизует пользователя после входа в систему и успешно извлекает данные. Но забавно то, что он работает только тогда, когда я запускаю файл .php через браузер (размещенный в apache).
Когда я пытаюсь скомпилировать код из командной строки, компилятор говорит:
Неустранимая ошибка PHP: класс «OAuth» не найден в xxx.php в строке 15
Очевидно, я уже отредактировал php.ini, чтобы он содержал следующую информацию (или она не будет работать на веб-странице):
расширение = / 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 скобки. Я понятия не имею, почему это работает в браузере. Надеюсь, кто-нибудь может мне помочь.