Phalangerを使用して、PHP で記述したスクリプトをスタンドアロンの実行可能ファイルにコンパイルしようとしています。このスクリプトは、PHP の cURL 拡張機能を利用して、さまざまな REST 呼び出しを行います。これは、ヒットする Web サイトがhttpを使用している限り、実際には正常に機能します。ただし、httpsエンドポイントにアクセスしようとすると失敗します。
この行を PHP ソースに追加しようとしました。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
それは SSL 検証を無視するだけです。しかし、それは機能しません。PHP でスクリプトを実行すると実際には機能しますが、Phalanger を使用して実行可能ファイルにコンパイルすると、次の警告が表示されます。
警告: curl_setopt(): 引数 'value' の値 'False' は、C:\test.exe の 76 行目、2 列目でサポートされていません。
つまり、SSL を検証する必要があるということですか? わかりました。そこで、cURL の Web サイトで証明書ストアを見つけてダウンロードし、上記の行を次のように変更しました。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_CAINFO, realpath(getcwd() . '/cacert.pem'));
コンパイルして実行可能ファイルを実行すると、代わりに次の警告が表示されます。
引数 'option' の値 'CURLOPT_CAINFO' は、C:\test.exe の行 77、列 2 でサポートされていません。
なかなか勝てないようです。Phalanger によってコンパイルされた PHP を介して、HTTPS 経由で cURL を機能させるにはどうすればよいですか?