
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-curl
e 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 é ¯\_(ツ)_/¯
apachectl -M
- Verifique se
php7_module
está listado sudo a2dismod php7.1
apachectl -M
para ver sephp7_module
saiu da listasudo a2enmod php7.2
- Verifique se carregado com
apachectl -M
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.