分類
標籤
.env AI Arc Arm Astro BigQuery btop Certbot Chrome CICD Cookie CORS CSS cURL DataTables defineExpose DevOps Docker Draggable Fetch API Gamania Git GitLab Google Calendar Google Cloud Summit Google Tag Manager GSAP HTML iCal inject JavaScript Laravel Less LINE Llama 3 Masonry Meta Nginx Nginx UI O(log n) Ollama OpenSSL Oracle OrbStack PHP Pinia Pixel Postman provide Proxyman Raycast requestAnimationFrame script setup Server Session Sitemap Socialite SSL TablePlus Termius Valet Vertex AI Visual Studio Code Vite Vue 3 Vue2 Vue3 Vuex Warp Webpack Yahoo Calendar Zeabur 二分搜尋 元件溝通 前端開發 動畫效果 峰值體驗 廣告 性能優化 打包 推薦系統 搜尋 時間複雜度 演算法 瀑布流排版 父子元件 環境變數 程式碼複製按鈕 系統監控 網站地圖 網頁開發 自動化部署 螢幕刷新率 語言模型 資訊檢索 跨域請求 轉化率 開發工具 陣列 電商 電子商務
383 字
2 分鐘
解決 cURL 35 和 cURL 60 錯誤的方法
本機開發 Laravel 的過程中,遇到錯誤訊息 cURL 35
或 cURL error 60: SSL certificate problem: unable to get local issuer cert ificate
的處理方法。
// 錯誤訊息大致如下
cURL error 35: OpenSSL/1.1.1s: error:0407008A:rsa routines:RSA_padding_check_PKCS1_type_1:invalid padding (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://xxxx.test/api/v1/xxx/xxx
解決 cURL 35
和 cURL error 60
的步驟大致相同。
步驟 1:確認 OpenSSL 版本
需要確認系統上安裝的 OpenSSL 版本。可以使用以下命令來檢查:
openssl version
確保你的 OpenSSL 是最新版本。如果不是最新版本,可以使用以下命令來更新:
brew upgrade openssl@1.1
或者
brew upgrade openssl@3
步驟 2:找到 php.ini 檔案
接下來,我們需要找到 php.ini 檔案的位置。可以使用以下命令來找到當前的 php.ini 檔案位置:
php -i | grep .ini
將找到的 php.ini 檔案位置備用。
步驟 3:設定 OpenSSL 路徑
在 php.ini 檔案中,找到以下設定並確保路徑正確:
對於 OpenSSL 1.1 版本:
openssl.cafile = "/opt/homebrew/etc/openssl@1.1/cert.pem"
對於 OpenSSL 3 版本:
openssl.cafile = "/opt/homebrew/etc/openssl@3/cert.pem"
請根據你的 OpenSSL 版本選擇正確的設定,並將其添加到 php.ini 檔案中。
步驟 4:更新 CA 憑證
接下來,我們需要將 ~/.config/valet/CA/LaravelValetCASelfSigned.pem
的 CA 金鑰複製到 /opt/homebrew/etc/openssl@{Version}/cert.pem
檔案的最底部。這樣可以確保 cURL 可以正確驗證 SSL 憑證。
步驟 5:重啟 PHP 和 Valet
最後,我們需要重啟 PHP 和 Valet 服務以應用這些變更。可以使用以下命令來重啟:
brew services restart php && valet restart
這樣就完成了!應該能夠解決 cURL 35
和 cURL error 60
的錯誤了。
解決 cURL 35 和 cURL 60 錯誤的方法
https://laplusda.com/posts/how-to-solve-curl-35-curl-60-errors/