Twilio Laravel «Использование неопределенной константы CURLOPT_URL — предполагается 'CURLOPT_URL' в CurlClient.php, строка 111»

Twilio Laravel «Использование неопределенной константы CURLOPT_URL — предполагается 'CURLOPT_URL' в CurlClient.php, строка 111»

Ищу какие-нибудь предложения по отладке и/или помощь. Я не очень хорошо разбираюсь в установке модулей или пакетов PHP и совсем не знаком с расширениями curl/curl. Есть ли способ определить, какие расширения установлены для curl? Это предполагает, что проблема в этом, а не в несовместимостях! Любая помощь/советы приветствуются.

Я использую пакет Twilio Laravel twilio/sdk (5.12) и пытаюсь создать клиента для получения сведений о вызовах (только для службы Programmable Voice). Данные моей учетной записи Twilio передаются для создания клиента (точно так, как описано в документации), но он терпит неудачу с таким сообщением:

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

Я могу создать клиент на своей машине (MacOS), внеся лишь несколько изменений в соответствующие версии системы/пакета.

Я связался со службой поддержки Twilio, и они посоветовали мне

отсутствует правильное расширение curl с версией curl, которая установлена ​​на вашем компьютере

Они предоставили эту ссылку, но инструкции не решили проблему:sms-twilio-api-ошибки. Я получаю ту же самую ошибку, даже после перезапуска Apache, очистки Laravel config:cache и т. д.

Когда я пытаюсь переустановить или обновить curl или php-curl, сервер сообщает мне, что

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

СЕРВЕР:

  • curl 7.47.0 (x86_64-pc-linux-gnu)
  • поддержка cURL => включена
  • PHP 7.2.21-1+ubuntu16.04.1+deb.sury.org+1
  • Ларавел 5.7

МЕСТНЫЙ:

  • curl 7.54.0 (x86_64-apple-darwin17.0)
  • поддержка cURL => включена
  • PHP7.1.21
  • Ларавел 5.7

решение1

Проблема в том, что когда вы проверяете версию PHP с помощью php-v, вы предполагаете, что все обновлено, и хорошо, если он показывает самую новую версию.

Затем, когда вы устанавливаете cURL apt-get install php-curlи он устанавливает новейшую версию, вы предполагаете, что вы на шаг приблизились к раю cURL и все будет хорошо.

Что вам действительно нужно сделать, так это проверить, включена ли и загружена ли в вашем экземпляре Apache ТОЛЬКО последняя версия PHP. В моем случае, несмотря на все обновления, Apache все еще загружал PHP7.1 вместо 7.2. Так быть не должно, но что есть, то есть ¯\_(ツ)_/¯

  1. apachectl -M
  2. Проверьте, php7_moduleесть ли в списке
  3. sudo a2dismod php7.1

  4. apachectl -Mчтобы увидеть, php7_moduleисчез ли он из списка
  5. sudo a2enmod php7.2

  6. Проверьте, загружено лиapachectl -M
  7. sudo systemctl restart apache2

Можете свободно экспериментировать с версией PHP на шаге 3 — попробуйте php7.0, php7.2 и т. д. Отключите все, прежде чем включать последнюю версию.

Связанный контент