Twilio Laravel "Uso de la constante no definida CURLOPT_URL - se supone 'CURLOPT_URL' en la línea 111 de CurlClient.php"

Twilio Laravel "Uso de la constante no definida CURLOPT_URL - se supone 'CURLOPT_URL' en la línea 111 de CurlClient.php"

Buscando algunas sugerencias de depuración y/o ayuda. No estoy muy familiarizado con la instalación de módulos o paquetes PHP, y no estoy nada familiarizado con las extensiones curl/curl. ¿Existe alguna manera de identificar qué extensiones están instaladas para curl? ¡Esto supone que ese es el problema y no algunas incompatibilidades! Se agradece cualquier ayuda/consejo.

Estoy usando el paquete Twilio Laravel twilio/sdk (5.12) e intento crear un Cliente para recuperar los detalles de las llamadas (solo servicio de voz programable). La información de mi cuenta Twilio se pasa para crear el cliente (exactamente como se muestra en los documentos), pero falla con este mensaje:

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

Puedo crear un Cliente en mi máquina (MacOS), con solo algunas variaciones en las versiones relevantes del sistema/paquete.

Me comuniqué con el soporte de Twilio y me sugirieron que fuera

falta la extensión de rizo adecuada con la versión de rizo que tienes en tu máquina

Proporcionaron este enlace, pero las instrucciones no resolvieron el problema:errores-sms-twilio-api. Recibo exactamente el mismo error, incluso después de reiniciar Apache, borrar la configuración de Laravel: caché, etc.

Cuando intento reinstalar o actualizar curl o php-curl, el servidor me informa que

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

SERVIDOR:

  • curl 7.47.0 (x86_64-pc-linux-gnu)
  • soporte de cURL => habilitado
  • PHP 7.2.21-1+ubuntu16.04.1+deb.sury.org+1
  • Laravel 5.7

LOCAL:

  • rizo 7.54.0 (x86_64-apple-darwin17.0)
  • soporte de cURL => habilitado
  • PHP 7.1.21
  • Laravel 5.7

Respuesta1

El problema es que, cuando verificas la versión de PHP mediante php-v, asumes que todo está actualizado y bueno, si muestra la versión más reciente.

Luego, cuando instalas cURL by apt-get install php-curle instala la versión más reciente, asumes que estás un paso más cerca del paraíso de cURL y que todo estará bien.

Lo que realmente necesita hacer es verificar si su instancia de Apache tiene SÓLO la versión más reciente de PHP habilitada y cargada. En mi caso, a pesar de que todo se actualizó, Apache todavía estaba cargando PHP7.1 en lugar de 7.2. Así no son las cosas, pero es lo que es ¯\_(ツ)_/¯

  1. apachectl -M
  2. Compruebe si php7_moduleestá en la lista
  3. sudo a2dismod php7.1

  4. apachectl -Mpara ver si php7_moduleha desaparecido de la lista
  5. sudo a2enmod php7.2

  6. Verificar si está cargado conapachectl -M
  7. sudo systemctl restart apache2

Siéntase libre de probar con la versión de PHP en el paso 3: pruebe php7.0, php7.2, etc. Deshabilite todo antes de habilitar la versión más reciente.

información relacionada