小编Fra*_*Dee的帖子

MAMP 和 PHP “SSL 操作失败,代码为 1”

编辑 我现在正在移动,并且在我的 iPhone 上的 Stack Exchange 应用程序上只有 SO,所以下面的代码中的引号有一些奇怪的格式 - 抱歉!我在真实的代码中有真实的:)

两天来,我一直试图通过其他一些关于 SO 的问题来解决这个问题,但是这里...

只是试图用来file_get_contents()捕获位于同一服务器和同一域上的另一个文件的网页,并将其包含在内。我正在使用带有自签名证书的 MAMP 进行生产(以便我可以让服务器强制使用 SSL 等),所以我的 Mac 本地也有该证书为“始终受信任”,因为它显然是自签名的。

所以现在我有一个问题,我想要一个页面来捕获另一个页面的内容..我最初尝试使用 cURL 并且它失败了没有给我任何异常,并且没有使用信息curl_error()所以我切换到file_get_contents()我得到异常的地方SSL operation failed with code 1.. .ssl3_get_server_certificate:certificate verify failed

我认为这是 OpenSSL 不信任自签名的问题(但我认为它使用了底层操作系统的可信 CA?)并且我无法使用以下流上下文使其工作:

stream_context_create([
   "ssl" => [
      "allow_self_signed" => true
   ]
]);
Run Code Online (Sandbox Code Playgroud)

如果我将verify_peerand设置verify_peer_name为 false,则会发出请求,但不会发送 HTTPS cookie,这会破坏整个过程。

我已经尝试将证书的实际文本添加到cacert.pemMAMP 中 OpenSSL 目录下的文件中,并在文件中的openssl.cafile选项中设置该文件,php.ini如另一个答案中所述,但可惜没有运气......

有任何想法吗?您的帮助将不胜感激!谢谢!??

编辑 2 所以我再次尝试使用 cURL,这次让 cURL 给我一些详细的文件输出,这就是它给我的(注意底部第三行):

*   Trying …
Run Code Online (Sandbox Code Playgroud)

php openssl mamp self-signed ssl-certificate

4
推荐指数
2
解决办法
1500
查看次数

标签 统计

mamp ×1

openssl ×1

php ×1

self-signed ×1

ssl-certificate ×1