Twilio Laravel "정의되지 않은 상수 CURLOPT_URL 사용 - CurlClient.php 라인 111에서 'CURLOPT_URL'로 가정됨"

Twilio Laravel "정의되지 않은 상수 CURLOPT_URL 사용 - CurlClient.php 라인 111에서 'CURLOPT_URL'로 가정됨"

몇 가지 디버그 제안 및/또는 도움말을 찾고 있습니다. 저는 PHP 모듈이나 패키지 설치에 익숙하지 않으며 컬/컬 확장에도 전혀 익숙하지 않습니다. 컬에 어떤 확장이 설치되어 있는지 식별할 수 있는 방법이 있습니까? 이것은 일부 비호환성이 아니라 문제라고 가정합니다! 어떤 도움/조언이라도 주시면 감사하겠습니다.

저는 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 지원팀에 연락했는데 그들은 다음과 같이 제안했습니다.

컴퓨터에 있는 컬 버전에 적절한 컬 확장이 없습니다.

다음 링크를 제공했지만 지침에 따라 문제가 해결되지 않았습니다.SMS-twilio-api-오류. Apache를 다시 시작하고 Laravel config:cache를 지운 후에도 동일한 오류가 발생합니다.

컬이나 php-curl을 다시 설치하거나 업그레이드하려고 하면 서버에서 다음과 같은 메시지가 나타납니다.

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

섬기는 사람:

  • 컬 7.47.0 (x86_64-pc-linux-gnu)
  • cURL 지원 => 활성화됨
  • PHP 7.2.21-1+ubuntu16.04.1+deb.sury.org+1
  • 라라벨 5.7

현지의:

  • 컬 7.54.0 (x86_64-apple-darwin17.0)
  • cURL 지원 => 활성화됨
  • PHP 7.1.21
  • 라라벨 5.7

답변1

문제는 PHP 버전을 확인할 때 php-v최신 버전이 표시되면 모든 것이 업데이트되었다고 가정한다는 것입니다.

그런 다음 cURL을 설치 apt-get install php-curl하고 최신 버전을 설치하면 cURL 천국에 한 걸음 더 가까워지고 모든 것이 괜찮을 것이라고 가정합니다.

실제로 해야 할 일은 Apache 인스턴스에 최신 버전의 PHP만 활성화되어 로드되어 있는지 확인하는 것입니다. 내 경우 모든 것이 업데이트되었음에도 불구하고 Apache는 여전히 7.2 대신 PHP7.1을 로드하고 있었습니다. 이것은 있을 수 없는 일이지만 실제로는 그렇습니다. ̅\_(ツ)_/̅

  1. apachectl -M
  2. php7_module목록에 있는지 확인하세요.
  3. sudo a2dismod php7.1

  4. apachectl -Mphp7_module이 목록에서 사라졌는지 확인하려면
  5. sudo a2enmod php7.2

  6. 로드되었는지 확인하십시오.apachectl -M
  7. sudo systemctl restart apache2

3단계에서 자유롭게 PHP 버전을 사용해 보십시오. php7.0, php7.2 등을 시도해 보십시오. 최신 버전을 활성화하기 전에 모든 것을 비활성화하십시오.

관련 정보