PHP环境SSL配置_PHP环境SSL配置详细步骤

嗯...SSL配置...就这样了...2 02 2 年...我在一个城市...做一个项目...我要配置SSL...花了我很长时间...
首先...必须安装OpenSSL...必须在电脑上...修改php.ini文件...其他路径...找到这一行...;extension=openssl...去掉分号...保存...然后重新启动Apache...或者Nginx...这个必须重新启动...重新启动...
所以...确认...打开 PHP 文件...输入 <?php phpinfo(); ?>... 打开浏览器... 搜索openssl... 看看状态是否启用... 如果是... 否则... 需要回去找到php.ini... 完成...
下一步... 证书... 这个最麻烦... 买一个... 或者自己弄一个... 自签名... 生成私钥... 这是命令... openssl 生成私钥... 生成私钥2 0out-genrsa... 文件... openssl req -new -key server.key -out server.csr... 这是请求... 然后您自己签名... openssl x5 09 -req -days 3 6 5 -in server.csr -signkey server.key -out server.crt... 这将生成证书... 这些文件... server.crt... server.key... 必须添加为例如/lbr>cert... 在安全的地方... 服务器... Apache 或 Nginx... 配置 SSL... 对于 Apache... 首先安装 mod_ssl... sudo a2 enmod ssl... 然后重新启动 Apache... sudo systemctl restart apache2 ... 然后在虚拟主机配置文件中... 例如 /etc/apache2 /sites-available/default-ssl.configuration... 添加 SSL。
... SSLEngine on... SSLCertificateFile /path/to/server.crt... SSLCertificateKeyFile /path/to/server.key... ... 然后保存... 重新启动 Apache... sudo systemctl 重新加载 apache2 ...
对于 Nginx 服务器... 监听 SSL4 服务器... { 监听 SSL4 服务器...{ ssl_certificate /path/to/server.crt;... ssl_certificate_key /path/to/server.key;... }... 然后检查配置... sudo nginx -t... 没问题... 重启Nginx... sudo systemctl reload nginx...
最后... 测试... 编写另一个浏览器... 检查否... 脚本... 测试一下... <?php $url = "https://httpbin.org/get"; $data = file_get_contents($url); if($data === false){ echo "HTTPS 请求失败!"; } else{ echo "HTTPS 请求成功!"; } ?> ...如果失败...可能php.ini中的allow_url_fopen没有开启...或者openssl.cafile设置不正确...
就这样...配置完成...可能存在一些问题...比如证书不可信...自签名...浏览器必须手动将其添加到CA证书请求文件...或者PHP服务器无法发送包的trustlist文件...错误...6 4 4 证书...6 00私钥...需要注意到这些...
总之...配置SSL...步骤很多...很容易出错...2 02 2 年...我在一个城市...正在做一个项目...这就是我正在做的...也许我有点极端...但这件事...你必须小心...

PHP怎样解析CRX扩展文件 CRX插件文件解析方法详解

如何开启fsockopen函数

粗略地说,如果你想让 PHP fsockopen 功能正常工作,你需要执行两个基本步骤:启用开关和安装模块。
然而,这个问题很复杂,因为服务器环境是多种多样的。

我们先来说说最重要的事情。
fsockopen 使用allow_url_fopen 配置元素。
去年我们推出了一个电子商务项目,因为它没有开发出来。
花了一周时间才找到邮班,但一切总是失败。
直接进入命令行查看 php -i | grepallow_url_fopen。
如果显示“On”,则表示满足基本条件。
否则,请转到 php.ini 并更改它。

另一点:许多类型的电子邮件需要 SSL 支持,尤其是在发送外部电子邮件时。
去年我们使用Sendmail类时,发现无法连接SMTP服务器。
经过长时间的调查,我们发现openssl扩展没有安装。
对于Apache服务器,只需将extension=php_openssl.dll添加到php.ini并重新启动即可。
IIS 用户可能必须手动将 openssl.so 复制到 ext 目录。

一开始我以为改完配置就万事大吉了,后来发现不对劲。
mail类实际上需要证书验证,这就需要在openssl配置中添加ssl_ca_file参数。
说实话,这很令人困惑。
很多人不注意这一点。

还有一个更重要的细节。
如果您使用 yum 安装 PHP,最好使用 yum install php-openssl 来安装 openssl 扩展。
不要自己编译,否则有些依赖库可能无法安装。
不要忘记使用 ldd 命令检查 openssl.so 依赖项。
去年,一位同事忘记安装openssl-devel,结果失败了。

等等,我想提醒你一件事。
如果您使用的是PHP-FPM,则在重启Web服务器时需要重新启动PHP-FPM进程,否则配置不会生效。
很多人都忽略了这一点,尤其是在使用Nginx+PHP-FPM框架时。
建议直接重启systemctl php-fpm-7 .4 .service。

我认为值得尝试使用 phpinfo() 来输出有关配置及其比较。
这比仅仅更改配置要容易得多。