我正在尝试使用Phalanger将我用 PHP 编写的脚本编译成独立的可执行文件。该脚本利用 PHP 的 cURL 扩展来进行各种 REST 调用。只要它访问的网站使用http ,这实际上就可以正常工作;但是,每当我尝试访问https端点时,它都会失败。
我尝试将此行添加到 PHP 源代码中:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
那将忽略任何 SSL 验证;但是它不起作用。如果我在 PHP 中运行脚本,它实际上确实有效,但是当我使用 Phalanger 将其编译为可执行文件时,它会发出以下警告:
警告:curl_setopt():C:\test.exe 第 76 行第 2 列不支持参数 'value' 的值 'False'。
所以,好吧,这意味着我绝对必须验证 SSL?当然可以。所以我在 cURL 的网站上找到了一个证书存储,下载了它,并将上面的行更改为以下内容:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_CAINFO, realpath(getcwd() . '/cacert.pem'));
现在,当我编译它并运行可执行文件时,我收到了这个警告:
C:\test.exe 第 77 行第 2 列不支持参数 'option' 的值 'CURLOPT_CAINFO'。
看来我是赢不了了。如何通过 HTTPS 通过 Phalanger 编译的 PHP 获取 cURL?