我试图使用Phalanger将我在PHP中编写的脚本编译成独立的可执行文件。该脚本利用PHP的cURL扩展来进行各种REST调用。这实际上只要它点击的网站使用 http ;但是,只要我尝试点击 https 端点,它就会失败。
我尝试将此行添加到PHP源代码中:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
那会忽略任何SSL验证;但它不起作用。如果我在PHP中运行脚本,它实际上 工作,但当我使用Phalanger将其编译为可执行文件时,它会发出此警告:
警告:curl_setopt():值'错误'论证'价值'第76行第2列的C:\ test.exe不支持。
那么,好吧,这意味着我必须验证SSL?当然,很好。所以我找到了certificate store on cURL's website,下载了它,并将上面的行改为以下内容:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_CAINFO, realpath(getcwd() . '/cacert.pem'));
现在当我编译它并运行可执行文件时,我收到了这个警告:
价值' CURLOPT_CAINFO'论证'选项'在第77行第2列的C:\ test.exe中不受支持。
似乎我无法获胜。如何让cURL通过Phalanger编译的PHP工作,通过HTTPS?