Twilio Laravel „Verwendung der nicht definierten Konstanten CURLOPT_URL – angenommen ‚CURLOPT_URL‘ in CurlClient.php, Zeile 111“

Twilio Laravel „Verwendung der nicht definierten Konstanten CURLOPT_URL – angenommen ‚CURLOPT_URL‘ in CurlClient.php, Zeile 111“

Ich suche nach Debug-Vorschlägen und/oder Hilfe. Ich bin nicht sehr vertraut mit der Installation von PHP-Modulen oder -Paketen und kenne mich überhaupt nicht mit Curl/Curl-Erweiterungen aus. Gibt es eine Möglichkeit, herauszufinden, welche Erweiterungen für Curl installiert sind? Dies setzt voraus, dass das das Problem ist und nicht irgendwelche Inkompatibilitäten! Jede Hilfe/jeder Rat ist willkommen.

Ich verwende das Twilio Laravel-Paket twilio/sdk (5.12) und versuche, einen Client zum Abrufen von Anrufdetails zu erstellen (nur Programmable Voice-Dienst). Meine Twilio-Kontoinformationen werden zur Erstellung des Clients übergeben (genau wie in den Dokumenten dargestellt), aber es schlägt mit dieser Meldung fehl:

(1/1) ErrorException
Use of undefined constant CURLOPT_URL - assumed 'CURLOPT_URL'
in CurlClient.php line 111

Ich kann auf meinem Rechner (MacOS) einen Client erstellen, mit nur wenigen Abweichungen bei den entsprechenden System-/Paketversionen.

Ich habe den Twilio-Support kontaktiert und sie haben mir vorgeschlagen,

Die richtige Curl-Erweiterung fehlt für die Curl-Version, die Sie auf Ihrem Computer haben

Sie haben diesen Link bereitgestellt, aber die Anweisungen haben das Problem nicht gelöst:SMS-Twilio-API-Fehler. Ich erhalte genau denselben Fehler, sogar nach einem Neustart von Apache, dem Löschen des Laravel-Konfigurationscache usw.

Wenn ich versuche, curl oder php-curl neu zu installieren oder zu aktualisieren, informiert mich der Server darüber, dass

curl is already the newest version (7.47.0-1ubuntu2.13).

SERVER:

  • curl 7.47.0 (x86_64-pc-linux-gnu)
  • cURL-Unterstützung => aktiviert
  • PHP 7.2.21-1+ubuntu16.04.1+deb.sury.org+1
  • Laravel 5.7

LOKAL:

  • curl 7.54.0 (x86_64-apple-darwin17.0)
  • cURL-Unterstützung => aktiviert
  • PHP 7.1.21
  • Laravel 5.7

Antwort1

Das Problem besteht darin, dass Sie beim Überprüfen der PHP-Version php-vdavon ausgehen, dass alles aktualisiert ist und die neueste Version angezeigt wird.

Wenn Sie cURL dann installieren apt-get install php-curlund die neueste Version installiert wird, gehen Sie davon aus, dass Sie dem cURL-Himmel einen Schritt näher sind und alles gut wird.

Was Sie wirklich tun müssen, ist zu überprüfen, ob Ihre Apache-Instanz NUR die neueste Version von PHP aktiviert und geladen hat. In meinem Fall lud Apache trotz aller Aktualisierungen immer noch PHP7.1 statt 7.2. Das kann nicht sein, aber es ist, wie es ist ¯\_(ツ)_/¯

  1. apachectl -M
  2. Überprüfen Sie, ob php7_moduleaufgeführt ist
  3. sudo a2dismod php7.1

  4. apachectl -Mum zu sehen, ob php7_modulees aus der Liste verschwunden ist
  5. sudo a2enmod php7.2

  6. Überprüfen Sie, ob geladen mitapachectl -M
  7. sudo systemctl restart apache2

Probieren Sie in Schritt 3 ruhig ein bisschen mit der PHP-Version aus – probieren Sie PHP 7.0, PHP 7.2 usw. Deaktivieren Sie alles, bevor Sie die neueste Version aktivieren.

verwandte Informationen