it-swarm.com.de

Wie installiere ich oAuth using PHP 7 und PECL OAuth Bibliothek)?

Ich versuche [erfolglos], das Modul Twitter auf einer Drupal 8-Site, die PHP 7 auf Ubuntu verwendet) zu aktivieren Twitter-Modul erfordert oAuth um zu funktionieren und oAuth erfordert die PECL OAuth Bibliothek).

Wenn ich Sudo pecl install oauth

Ich komme zurück:

pecl/oauth is already installed and is the same as the released version 2.0.2 install failed

und wenn ich es dann versuche drush en oauth

Ich komme zurück:

Module oauth doesn't meet the requirements to be enabled. [error] OAuth module requires the PECL OAuth library.

Hilfe beim Konfigurieren der oAuth Moudle und der PECL oAuth) Bibliothek?

4
brittany_p

Nun, obwohl ich keine endgültige Lösung habe, kann ich, da ich heute 2 Jahre später über dasselbe Problem gedemütigt habe, zumindest etwas mehr Licht ins Dunkel bringen und bei weiteren Tests usw. helfen.

Das Wichtigste zuerst: In Ihrem Bericht fehlt eine Fehlerverfolgung.

Was sagt php -m? Es sollte alle erkannten PHP-Module auflisten. Die pecl php Erweiterung oauth sollte hier aufgelistet werden. Wenn nicht, überprüfen Sie bei der Installation von Sudo pecl install oauth, Ob Sie die Anweisungen auf dem Terminal sorgfältig befolgt haben. Es heißt, dass Sie sicherstellen müssen, dass die Zeile extension=oauth.so Zu Ihrem php.ini Hinzugefügt wird. Dies ist eine Standardempfehlung, die auch übersetzt werden kann in: Stellen Sie sicher, dass oauth.ini In .../php/mods-available Befindet und von .../Apache2/conf.d/... Mit diesem verknüpft ist, um als aktiviertes Modul erkannt zu werden.

Wenn nicht, überprüfen Sie php-config --extension-dir, Um zu sehen, wo alle Ihre PHP .so-Erweiterungen wirklich installiert sind, und listen Sie sie dann mit ls -ahl Auf, um sicherzustellen, dass oauth kompiliert wurde) korrekt.

Eine andere Sache zu beachten ist, dass PHP in 2 Modi kommt: CLI-Modus und Server-Modus. Beide können manchmal gemischt werden und Verwirrung stiften, da sogar Drupal es ständig mischt, um PHP-Erweiterungen zu überprüfen. Erstellen Sie eine einfache test.php - Datei und setzen Sie <? phpinfo(); ?> darin und führen Sie es als lokalen Link im Browser aus, um zu überprüfen, ob OAuth dort irgendwo aufgeführt ist (STRG + F oauth). Wenn es aufgeführt ist, scheint es, dass nur php cli die Erweiterung und = nicht erkennt Drupal kann es nicht finden. Wiederholen Sie in diesem Fall den obigen Schritt (symlink) mit der Erweiterung, die auch in .../php/cli/conf.d/... Symlinked ist. Dann würde php -m Das erkannte Modul anzeigen.

Schließlich, wenn Sie alles zweimal wie ich überprüft haben und herausgefunden haben, dass die Erweiterung oauth immer noch nicht korrekt in Ihre PHP/Apache2-Umgebung geladen wird oder Drupal won) Wenn du es nicht findest, wirst du auf dem gleichen Level wie ich bleiben :) Und ich habe herausgefunden, dass ich nicht allein bin. Es scheint eine Liste von Problemen zu geben, die diesbezüglich im Web (Google) OAuth einige Probleme unter PHP7 machen.

Aber wenn Sie zweimal überprüft haben, ob PHP UND (!) PHP-CLI das Modul finden können, sind Sie Teil der 99%, die es mit Drupal endlich geschafft haben. Viel Glück.

2
nilsun

Re oauth @ nilsums Vorschlag bringt auch Licht in meine scheinbare Vergessenheit. Ich bin auf drupal 8, aber ich nehme an, dass die Lösung für Drupal 7 gelten würde.

Sie können überprüfen, ob dieses Modul bereits auf Ihrem Server installiert ist, da es in den meisten Fällen Teil von PHP ist. Möglicherweise können Sie „PHP Pecl“ -Module installieren, wenn Sie über Root-Zugriff (SSH oder WHM) verfügen. Andernfalls fordern Sie Ihren Webhost auf, ein bestimmtes Modul von Interesse in diesem Fall oauth.so zu installieren. Dies wäre in '/ opt/cpanel/ea-php72/root/usr/lib64/php/modules' zu finden. Ich konnte das Paket installieren und dann die Erweiterung zu php.ini hinzufügen.

Wenn Sie Root-Zugriff auf php.ini haben, bestätigen Sie erneut, dass diese Erweiterung vorhanden ist oder nicht. Wenn dies nicht der Fall ist (aus diesem Grund können einige das Modul oauth und Twitter nicht aktivieren), fügen Sie die Erweiterung 'extension = oauth.so' hinzu. Andernfalls erstellen Sie eine php.ini-Datei auf Ihrem drupal -Stammserver und fügen Sie die Erweiterung hinzu (neben allen Änderungen der Datei-/Speichergröße, die Sie möglicherweise anpassen möchten. Wenn dies erfolgreich ist, wird oauth einfach aktiviert, was dies ermöglicht Twitter soll auch aktiviert werden. Hoffe das hilft . enter image description here

0
Maplinks