在 Ubuntu 上运行的 PHP 本身是支持 SSL/TLS 的,但是否“能用”,取决于你用的 PHP 运行方式 和 相关扩展是否启用。下面分情况说明:
✅ 支持
PHP 通过以下方式支持 SSL:
openssl 扩展curl 扩展(支持 HTTPS)stream 包装器(如 https://)一般默认就支持 SSL。
检查:
php -m | grep openssl
php -m | grep curl
如果没有:
sudo apt install php-openssl php-curl
测试:
php -r "var_dump(file_get_contents('https://www.baidu.com'));"
Apache 负责 HTTPS,PHP 不需要单独配 SSL。
启用:
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo systemctl restart apache2
PHP 只需:
sudo apt install php php-openssl
Nginx 处理 SSL,PHP-FPM 不需要 SSL。
Nginx 示例:
server {
listen 443 ssl;
ssl_certificate /path/cert.pem;
ssl_certificate_key /path/key.pem;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
}
PHP 侧只需:
sudo apt install php-fpm php-openssl
sudo apt install php-openssl
php -r "print_r(curl_version());"
确认 SSL Version 不为 no
sudo apt install ca-certificates
Ubuntu 上的 PHP 是支持 SSL 的,通常通过 openssl / curl 实现;如果是 Web 服务,SSL 一般由 Apache 或 Nginx 处理,PHP 不需要直接配置证书。
如果你能告诉我:
我可以给你更精确的配置方案。