
尋找一些調試建議和/或幫助。我不太熟悉安裝 PHP 模組或套件,也不太熟悉curl/curl 擴充功能。有沒有辦法確定為curl 安裝了哪些擴充功能?這是假設這就是問題所在,而不是某些不相容問題!任何幫助/建議表示讚賞。
我正在使用 Twilio Laravel 套件 twilio/sdk (5.12),並嘗試建立一個客戶端來檢索呼叫詳細資訊(僅限可程式語音服務)。我的 Twilio 帳戶資訊正在傳遞以建立用戶端(完全如文件中所述),但失敗並顯示以下訊息:
(1/1) ErrorException
Use of undefined constant CURLOPT_URL - assumed 'CURLOPT_URL'
in CurlClient.php line 111
我可以在我的機器(MacOS)上建立一個客戶端,只需對相關係統/軟體包版本進行一些更改。
我聯繫了 Twilio 支援人員,他們建議我
您機器上的curl版本缺少正確的curl擴展
他們提供了此鏈接,但說明並未解決問題:簡訊 twilio-api 錯誤。即使在重新啟動 apache、清除 Laravel config:cache 等之後,我也會得到相同的錯誤。
當我嘗試重新安裝或升級curl或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
,如果它顯示最新版本,您會假設所有內容都已更新。
然後,當你安裝 cURLapt-get install php-curl
並且它安裝了最新版本時,你會認為你離 cURL 天堂又近了一步,一切都會好起來的。
您真正需要做的是檢查您的 Apache 實例是否僅啟用並載入了最新版本的 PHP。就我而言,儘管所有內容都已更新,Apache 仍然加載 PHP7.1 而不是 7.2。事情不可能是這樣,但事實就是如此 ́\_(ツ)_/̊
apachectl -M
- 檢查是否
php7_module
列出 sudo a2dismod php7.1
apachectl -M
查看是否php7_module
已從清單中消失sudo a2enmod php7.2
- 驗證是否已載入
apachectl -M
sudo systemctl restart apache2
請隨意使用第 3 步驟中的 php 版本 - 嘗試 php7.0、php7.2 等。