要配置 CentOS 上的 PHP 以支持 HTTPS,您需要执行以下步骤:
安装 Apache 或 Nginx 服务器(如果尚未安装):
对于 Apache,请运行:
sudo yum install httpd
sudo systemctl start httpd
sudo systemctl enable httpd
对于 Nginx,请运行:
sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
安装 Let’s Encrypt 证书颁发机构(CA)生成的 SSL 证书。您可以使用 Certbot 自动生成并安装证书。首先,确保已安装 Certbot 及其 Apache 或 Nginx 插件:
对于 Apache,请运行:
sudo yum install certbot python2-certbot-apache
对于 Nginx,请运行:
sudo yum install certbot python2-certbot-nginx
使用 Certbot 获取 SSL 证书。根据您的服务器类型选择相应的命令:
对于 Apache,请运行:
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
对于 Nginx,请运行:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Certbot 将自动配置您的服务器以使用 HTTPS,并将证书文件存储在 /etc/letsencrypt/live/yourdomain.com/
目录中。
配置 PHP 以支持 HTTPS。编辑您的 PHP 配置文件(/etc/php.ini
),并确保以下设置已启用:
; 启用 OPCache
opcache.enable=1
; 启用文件信息缓存
fileinfo.enable=1
; 启用错误报告
error_reporting=E_ALL
; 启用显示错误
display_errors=On
; 启用日志记录
log_errors=On
; 设置日志文件路径
error_log=/var/log/php_errors.log
如果您使用的是 PHP-FPM,请编辑相应的池配置文件(例如 /etc/php-fpm.d/www.conf
),并确保以下设置已启用:
; 启用错误日志
catch_workers_output = yes
; 设置错误日志文件路径
error_log = /var/log/php-fpm/error.log
重启您的 Web 服务器以应用更改:
对于 Apache,请运行:
sudo systemctl restart httpd
对于 Nginx,请运行:
sudo systemctl restart nginx
现在,您的 CentOS 服务器应已配置为使用 PHP 支持 HTTPS。请确保您的应用程序代码也支持 HTTPS,并在需要的地方使用相对 URL。