使用自签名证书的MAMP中的file_get_contents失败

时间:2018-10-30 17:32:52

标签: php ssl svg file-get-contents self-signed-certificate

我正在使用file_get_contents()在我的站点中包含svg文件。通常,这在http上工作正常,但是我将该站点设置为在本地使用https。出现此错误时:

Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed on line 226

Warning: file_get_contents(): Failed to enable crypto on line 226

据我所知,这是因为证书是自签名的。我找到了在文件获取内容上禁用SSL检查的本地解决方案。我使用cURL找到了类似的东西。但是,这似乎是一个安全漏洞。有没有一种方法可以在不禁用file_get_contents或cURL中的SSL检查的情况下实现此目的?

2 个答案:

答案 0 :(得分:2)

您需要允许使用自签名证书。为此,您需要定义一个自定义流上下文。

示例:

import { timer } from 'rxjs';

const source = timer(3000);
const subscribe = source.subscribe(val => {
    // Do something every 3 seconds
});

答案 1 :(得分:0)

您也可以尝试升级您的 MAMP 版本。这对我有用。在 MacOS Catalina 上运行 MAMP 时,我在 MAMP 上落后了两个版本,并遇到了类似的 SSL 错误,最后在浪费大量时间阅读各种 Stackoverlow 线程以寻求解决方案无济于事后,仅通过升级 MAMP 解决了这个问题。