首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 開啟 OpenSSL 擴展完整教學:php.ini 設定與常見問題排除

     編輯:PHP 相關知識

呼叫 HTTPS API、發送郵件、加密傳輸都需要 OpenSSL。本文說明如何在 Windows/Linux 環境啟用 PHP OpenSSL 擴展,並解決「缺少 DLL」、「phpinfo 不顯示」等常見問題。

核心步驟:修改 php.ini

  1. 找到 php.ini(php --ini 或 phpinfo() 查看)
  2. 搜尋 extension=php_openssl.dll(Windows)或 extension=openssl(Linux)
  3. 移除行首分號 ; 取消註解
  4. 重啟 Web 伺服器(Apache/Nginx/php-fpm)

Windows 環境額外 DLL 處理

若啟用後仍報錯,需將 PHP 目錄下的兩個 DLL 複製到系統路徑:

  • ssleay32.dll
  • libeay32.dll

複製目標:C:\Windows\System32\ 或 Apache bin/ 目錄,或加入系統 PATH 環境變數。

驗證是否生效

<?php phpinfo(); ?>

瀏覽器開啟該頁,搜尋 openssl 區塊,確認:

  • OpenSSL support = enabled
  • OpenSSL Library Version 顯示版本號

常見問題排查表

現象可能原因解決方案
phpinfo 無 openssl 區塊php.ini 修改錯誤或未重啟服務確認 Loaded Configuration File 路徑、重啟 Apache/php-fpm
啟動報錯「Unable to load dynamic library」缺少 ssleay32.dll / libeay32.dll複製 DLL 到系統目錄或 PHP 目錄並加入 PATH
stream_socket_client() 失敗CA 憑證未設定設定 openssl.cafile 指向 cacert.pem
Composer 安裝套件報 SSL 錯誤OpenSSL 版本過舊或缺 CA更新 PHP/OpenSSL、設定 cacert.pem

Linux 一鍵安裝

# Ubuntu/Debian
sudo apt-get install php-openssl
sudo systemctl restart php8.1-fpm  # 或對應版本

# CentOS/RHEL
sudo yum install php-openssl
sudo systemctl restart php-fpm

進階:指定 CA 憑證檔

; php.ini
openssl.cafile = /etc/ssl/certs/ca-certificates.crt
; 或
openssl.capath = /etc/ssl/certs

下載最新 cacert.pem 並指定路徑,解決「certificate verify failed」。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved