ほんの一握りのトライアルユーザー(20人中3人)が特定のページのコンテンツを見ることができないベータ版のWebサイトを管理しています。すべてのユーザーは、異なるネットワーク上で異なるコンピューターを使用しています。3人のユーザーがJavaScriptを有効にしていることを確認しましたが、それでも問題は解決しません。
深く掘り下げてみると、コンテンツの不足はcURL呼び出しが失敗したことが原因のようです。これらのユーザーの場合、curl_exec()が失敗しているか、データを返さないように見えます。これにより、nullの結果が返されるため、情報が表示されません。これらの3人のユーザーの場合、この問題は3つの別々のブラウザー(Chrome、IE、Firefox)に存在します。異なるネットワーク上の複数のコンピューターからアカウントにログインして応答を得ることができるため、ユーザーIDなどのユーザー設定によるものではないことを確認しました。
犯人は彼らのマシン/ネットワークがSSL証明書を処理する方法かもしれないと思います。私はSSL証明書に精通していないので、いくつかの分野で私の無知や明白な間違いを許してください。ただし、削除のプロセスにより、これら3人のユーザーのネットワーク/マシンによってWebサイト証明書が拒否されていると思われるため、cURL呼び出しは失敗します。私の質問は、これが事実であることをどのように確認できるか、もしそうなら何が原因であるか、そしてどのように問題を解決できるかということです。
Webサイトは、Zendframeowrkを使用してPHPで構築されています。関連するコードは次のとおりです。
$ssl_cert = ZendGA_Global::getOption('curl_ssl_certificate');
$ssl_verify_peer = ZendGA_Global::getOption('curl_ssl_verify_peer');
$ssl_verify_host = ZendGA_Global::getOption('curl_ssl_verify_host');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// related to SSL cerificate verification
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $ssl_verify_host);
curl_setopt($ch, CURLOPT_CAINFO, $ssl_cert);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
どんな助けでも大歓迎です。