Twilio Laravel "Uso de constante indefinida CURLOPT_URL - assumido 'CURLOPT_URL' em CurlClient.php linha 111"

Twilio Laravel "Uso de constante indefinida CURLOPT_URL - assumido 'CURLOPT_URL' em CurlClient.php linha 111"

Procurando algumas sugestões de depuração e/ou ajuda. Não estou muito familiarizado com a instalação de módulos ou pacotes PHP e nem um pouco familiarizado com extensões curl/curl. Existe uma maneira de identificar quais extensões estão instaladas para curl? Isso pressupõe que esse seja o problema, e não algumas incompatibilidades! Qualquer ajuda/conselho é apreciada.

Estou usando o pacote Twilio Laravel twilio/sdk (5.12) e tentando criar um cliente para recuperar detalhes da chamada (somente serviço de voz programável). As informações da minha conta Twilio estão sendo passadas para criar o cliente (exatamente como descrito na documentação), mas falha com esta mensagem:

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

Consigo criar um Cliente na minha máquina (MacOS), com apenas algumas variações nas versões relevantes do sistema/pacote.

Entrei em contato com o suporte da Twilio e eles sugeriram que eu

faltando a extensão de curl adequada com a versão de curl que você tem em sua máquina

Eles forneceram este link, mas as instruções não resolveram o problema:erros de sms-twilio-api. Recebo exatamente o mesmo erro, mesmo depois de reiniciar o Apache, limpar o Laravel config:cache, etc.

Quando tento reinstalar ou atualizar o curl ou o php-curl, o 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)
  • suporte cURL => ativado
  • PHP 7.2.21-1+ubuntu16.04.1+deb.sury.org+1
  • Laravel 5.7

LOCAL:

  • enrolar 7.54.0 (x86_64-apple-darwin17.0)
  • suporte cURL => ativado
  • PHP7.1.21
  • Laravel 5.7

Responder1

O problema é que, ao verificar a versão do PHP pelo php-v, você assume que está tudo atualizado e bem, se mostra a versão mais recente.

Então, quando você instala o cURL by apt-get install php-curle ele instala a versão mais recente, você presume que está um passo mais perto do paraíso do cURL e que tudo ficará bem.

O que você realmente precisa fazer é verificar se sua instância do Apache tem SOMENTE a versão mais recente do PHP habilitada e carregada. No meu caso, apesar de tudo estar atualizado, o Apache ainda carregava o PHP7.1 em vez do 7.2. Não é assim que as coisas podem ser, mas é o que é ¯\_(ツ)_/¯

  1. apachectl -M
  2. Verifique se php7_moduleestá listado
  3. sudo a2dismod php7.1

  4. apachectl -Mpara ver se php7_modulesaiu da lista
  5. sudo a2enmod php7.2

  6. Verifique se carregado comapachectl -M
  7. sudo systemctl restart apache2

Sinta-se à vontade para brincar com a versão php na etapa 3 - experimente php7.0, php7.2, etc. Desative tudo antes de ativar a versão mais recente.

informação relacionada