現在の位置: ホーム> 最新記事一覧> IISにSSL証明書をインストールした後にPHPがデータを取得できないという一般的な問題を解決します

IISにSSL証明書をインストールした後にPHPがデータを取得できないという一般的な問題を解決します

gitbox 2025-06-30

SSL証明書がIISにインストールされた後にPHPがデータを取得できないという解決策

ネットワークセキュリティの認識が高まっているため、WebサーバーにSSL証明書をインストールすることがますます重要になっています。 Windows環境では、IISは一般的に使用されるWebサーバーです。 PHPを使用してWebサイトを開発する場合、PHPはSSL証明書をインストールした後、外部HTTPSリソースを取得できない場合があります。この問題は通常、「カールエラー60:SSL証明書の問題:ローカル発行者証明書を取得できない」などのエラーとして現れます。

問題分析

IISにSSL証明書をインストールした後、PHPがHTTPSリソースを要求する場合、SSL/TLSプロトコルはデフォルトでサポートされていないため、SSL証明書を検証できない場合があり、その結果、データ取得の障害が発生します。この問題を解決するための鍵は、PHPのSSLサポートとルート証明書パスを適切に構成することです。

解決

1.SSL証明書のルート証明書ファイルをダウンロードする

まず、SSL証明書局のWebサイトからルート証明書ファイルをダウンロードし、サーバーの指定されたディレクトリに保存する必要があります。

2。php.iniファイルを構成します

次に、PHPのPHP.iniファイルを変更して、SSL拡張子が有効になり、正しいルート証明書パスが構成されていることを確認します。 php.iniファイルを開き、次の構成項目を見つけて確認します。

 extension=php_openssl.dll
 curl.cainfo = "C:/path/to/your/cacert.pem"

ここで、「c:/path/to/your/cacert.pem」を実際のルート証明書パスに置き換える必要があります。

3。HTTPSリクエストにカールライブラリを構成します

PHPは通常、HTTPリクエストにCurlライブラリを使用します。 HTTPSリクエストを開始するときにCURLがSSL証明書を確認できるようにするには、関連する構成が必要です。これがサンプルコードです:

 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, 'https://example.com/api');
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
 curl_setopt($ch, CURLOPT_CAINFO, 'C:/path/to/your/cacert.pem');
 $result = curl_exec($ch);
 curl_close($ch);
 echo $result;

このコードでは、リクエストのセキュリティを確保するためにCurlオプションを構成することにより、SSL証明書の確認を有効にします。

4.構成が効果的かどうかをテストします

構成が完了したら、HTTPSサイトにアクセスしてPHPが正常にデータを取得するかどうかをテストできます。正しく構成されている場合、PHPは正常にHTTPSリソースにアクセスできるはずです。

要約します

上記の手順を通じて、IISにSSL証明書をインストールした後、PHPがHTTPSデータを取得できないという問題を効果的に解決できます。 PHP.INIファイルの適切な構成とCURLライブラリの使用により、PHPがHTTPS要求を行うときにSSL証明書を確認し、データ収集のセキュリティを確保できるようにします。実際の操作では、実際の状況に従って構成パスを調整し、SSL証明書の有効性を確認してください。

この記事が関連する問題を解決し、ウェブサイトの安全で適切な運用を確保するのに役立つことを願っています。