国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
失敗する理由
ネイティブ認(rèn)証局を使用する
cacert.pem ファイルをダウンロードして維持します
ホームページ バックエンド開発 PHPチュートリアル Windows で PHP Curl HTTPS 認(rèn)証局の問題を修正する方法

Windows で PHP Curl HTTPS 認(rèn)証局の問題を修正する方法

Nov 11, 2024 pm 12:24 PM
php

HTTPS リクエストが成功すると、HTTP クライアントが 既知の信頼できるルートのリストに対するサーバー提供の TLS 証明書 証明書。 PHP Curl 拡張機(jī)能も違いはありません。カール 拡張機(jī)能は libcurl を使用して HTTPS リクエストを作成し、さらに libcurl は OpenSSL などの TLS ライブラリを使用してリクエストを検証します。

Windows で PHP Curl HTTPS 認(rèn)証局の問題を修正する方法

Curl 拡張機(jī)能には、次の內(nèi)容を含む有効なファイルが必要です。すべての HTTPS 検証を完了するための信頼されたルート証明書、および PHP これを php.ini ファイル內(nèi)のディレクティブとして公開します。

Linux、BSD、および macOS では、libcurl はデフォルトでシステム ルートに設(shè)定できます。 証明書を使用しますが、Windows ではこれを行うことはできません。 すべてのシステム ルートを含む 1 つのファイルが付屬しているわけではありません

この記事では、Curl 拡張機(jī)能を使用して HTTPS リクエストを正常に実行するための 2 つの方法と、HTTPS リクエストが安全でないままにしてはいけないことについて説明します。

失敗する理由

$ch?=?curl_init('https://php.watch');??
curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?true);??
curl_exec($ch);?//?false??

curl_error($ch);
//?SSL?certificate?problem:?unable?to?get?local?issuer?certificate

curl_exec 呼び出しが誤った応答で失敗し、curl_error が SSL 証明書の問題を示している場(chǎng)合: ローカル発行者を取得できません証明書エラー。これは、Curl にルート証明書を含むファイルが提供されなかったか、ルート証明書を検出できなかったことを意味します。

このエラーは、Linux、BSD、および macOS システムではまれですが、非常にまれです。 ルートを取得するための指定されたファイルがないため、Windows では一般的です。 証明書が含まれており、PHP にはルート証明書リストが同梱されていません。 own.

解決策は、最新のルートを含むファイルを提供することです 証明書を使用するか、理想的には、Curl にネイティブ ルート ストアを解析させます。

ネイティブ認(rèn)証局を使用する

Curl 7.71 以降では、Curl を設(shè)定できます。 Curl にネイティブ (システム) ルート証明書を使用するよう要求するオプション。 これは Windows でも機(jī)能し、Curl はシステム ルート証明書を解析します。

CURLOPT_SSL_OPTIONS オプションが CURLSSLOPT_NATIVE_CA に設(shè)定されている場(chǎng)合 またはそれらのビットを含むビットマスクの場(chǎng)合、Curl はネイティブのビットマスクを使用しようとします。 ルート証明書ストア。の機(jī)能とバージョンに応じて異なります。 基礎(chǔ)となる TLS ライブラリ。

これは、Curl 拡張機(jī)能が Curl 7.71 以降および PHP 8.2 以降で構(gòu)築されている場(chǎng)合に推奨される修正です。

?$ch?=?curl_init('https://php.watch');
??curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?true);
???curl_setopt($ch,?CURLOPT_SSL_OPTIONS,?CURLSSLOPT_NATIVE_CA);
????curl_exec($ch);

上記のスニペットは、 Curl のバージョンと PHP バージョンであり、PHP と Curl の両方のバージョン要件が満たされていることを前提としています。の 以下は、Curl オプションを條件付きで追加する例です。

$ch?=?curl_init('https://php.watch');??
curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?true);??
if?(defined('CURLSSLOPT_NATIVE_CA')??
??&&?version_compare(curl_version()['version'],?'7.71',?'>='))?{??
????curl_setopt($ch,?CURLOPT_SSL_OPTIONS,?CURLSSLOPT_NATIVE_CA);
}??
curl_exec($ch);

cacert.pem ファイルをダウンロードして維持します

8.2 より古いバージョンの PHP で実行されているアプリケーションの場(chǎng)合 (CURLSSLOPT_NATIVE_CA 定數(shù)は使用できません)、または Curl のバージョンが 7.71 より古い場(chǎng)合、 推奨される代替ソリューションは、Curl 互換のファイルをダウンロードすることです。 ルート証明書ファイルを作成し、それを使用するように PHP または Curl リクエストを構(gòu)成します。

Curl プロジェクトは、証明書の最新のリストを管理します。 Mozilla から抽出された CA 証明書を參照してください。

  1. cacert.pem ファイルをダウンロードします

  2. PHP および Web サーバーがアクセスできるディレクトリにファイルを移動(dòng)します。たとえば、C:/php/cacert.pem.
  3. に php.ini ファイルを編集し、cacert.pem ファイルへの絶対パスを指すようにcurl.cainfo エントリを変更します。

  4. $ch?=?curl_init('https://php.watch');??
    curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?true);??
    curl_exec($ch);?//?false??
    
    curl_error($ch);
    //?SSL?certificate?problem:?unable?to?get?local?issuer?certificate
  5. 必要に応じて、Web サーバーを再起動(dòng)します (例:

このアプローチの欠點(diǎn)は、cacert.pem ファイルを定期的に更新する必要があることです。 cacert.pem たとえば、Curl プロジェクトによって提供されるファイルはルートから抽出されます。 Mozilla によって管理されるストア。平均すると、このリストとファイルは次のようになります。 年に4?5回更新されます。最新のルートとの互換性を確保するには 証明書リスト。このファイルのローカル コピーを必ず更新してください。 定期的に

INI ファイルを変更できない場(chǎng)合は、Curl リクエスト內(nèi)で cacert.pem ファイルへの絶対パスも指定します:

?$ch?=?curl_init('https://php.watch');
??curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?true);
???curl_setopt($ch,?CURLOPT_SSL_OPTIONS,?CURLSSLOPT_NATIVE_CA);
????curl_exec($ch);

PHP 8.2 と Curl 7.77 、CURLOPT_CAINFO_BLOB を使用して cacert.pem の內(nèi)容を含む文字列を取得することができます。オプション。

以上がWindows で PHP Curl HTTPS 認(rèn)証局の問題を修正する方法の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

コメントする理由:PHPガイド コメントする理由:PHPガイド Jul 15, 2025 am 02:48 AM

phphastthreecommentStyles://,#forsingle-lineand/.../formulti-line.usecommentstoexplainwhycodeexists、whatittodo/fixmeitemsanddisablecodecodemcodecodecodecodemprianydedebugging.avoidoversingingsingingsingingsingingsingingsingingsingingsimmentingsimmentingsimplelatic.decratecentecentic.

WindowsにPHPをインストールする方法 WindowsにPHPをインストールする方法 Jul 15, 2025 am 02:46 AM

WindowsにPHPをインストールするための重要な手順には次のものがあります。1。適切なPHPバージョンをダウンロードして解凍します。 apacheでthreadsafeバージョンまたはnginxを使用して非threadsafeバージョンを使用することをお?jiǎng)幛幛筏蓼埂?2。php.iniファイルを構(gòu)成し、php.ini-developmentまたはphp.ini-productionにphp.iniに名前を変更します。 3.コマンドラインの使用のために、システム環(huán)境変數(shù)パスにPHPパスを追加します。 4. PHPが正常にインストールされているかどうかをテストするには、コマンドラインを介してPHP-Vを?qū)g行し、組み込みサーバーを?qū)g行して解析機(jī)能をテストします。 5.Apacheを使用する場(chǎng)合、httpd.confでPを構(gòu)成する必要があります

PHP構(gòu)文:基本 PHP構(gòu)文:基本 Jul 15, 2025 am 02:46 AM

PHPの基本的な構(gòu)文には4つのキーポイントが含まれています。1。PHPタグを終了する必要があり、完全なタグの使用が推奨されます。 2。エコーと印刷は、一般的に出力コンテンツに使用されます。その中には、エコーは複數(shù)のパラメーターをサポートし、より効率的です。 3。注釈方法には、コードの読みやすさを改善するための//、#、//が含まれます。 4.各ステートメントはセミコロンで終了する必要があり、スペースとラインブレークは実行に影響を與えず、読みやすさに影響します。これらの基本的なルールを習(xí)得すると、明確で安定したPHPコードの作成に役立ちます。

Python他の例 Python他の例 Jul 15, 2025 am 02:55 AM

PythonのIfelseステートメントを書くための鍵は、論理構(gòu)造と詳細(xì)を理解することです。 1.インフラストラクチャは、條件が確立されている場(chǎng)合、コードを?qū)g行することです。 2.多條件判斷はElifで実施され、順次実行され、満たされると停止します。 3。ネストされている場(chǎng)合、さらに區(qū)畫の判斷に使用されている場(chǎng)合、2つの層を超えないことをお?jiǎng)幛幛筏蓼埂?4.単純なシナリオでは、単純なifelseを置き換えるために、三元式を使用できます。インデント、條件付き順序、論理的完全性に注意を払うことによってのみ、明確で安定した判斷コードを書くことができます。

PHP 8インストールガイド PHP 8インストールガイド Jul 16, 2025 am 03:41 AM

ubuntuにphp8をインストールする手順は次のとおりです。1。ソフトウェアパッケージリストを更新します。 2。PHP8および基本コンポーネントをインストールします。 3.バージョンを確認(rèn)して、インストールが成功していることを確認(rèn)します。 4.必要に応じて追加のモジュールをインストールします。 Windowsユーザーは、ZIPパッケージをダウンロードおよび解凍し、構(gòu)成ファイルを変更し、拡張機(jī)能を有効にし、環(huán)境変數(shù)へのパスを追加できます。 MacOSユーザーは、HomeBrewを使用してインストールし、TAPの追加、PHP8のインストール、デフォルトバージョンの設(shè)定、バージョンの検証などの手順を?qū)g行することをお?jiǎng)幛幛筏蓼?。インストール方法は異なるシステムで異なりますが、プロセスは明確であるため、目的に応じて適切な方法を選択できます。

最初のPHPスクリプト:実用的な紹介 最初のPHPスクリプト:実用的な紹介 Jul 16, 2025 am 03:42 AM

最初のPHPスクリプトの書き始め方法は?まず、ローカル開発環(huán)境をセットアップし、XAMPP/MAMP/LAMPをインストールし、テキストエディターを使用してサーバーの実行原則を理解します。第二に、hello.phpというファイルを作成し、基本コードを入力してテストを?qū)g行します。第三に、PHPとHTMLを使用して動(dòng)的なコンテンツ出力を?qū)g現(xiàn)することを?qū)Wびます。最後に、セミコロンの欠落、引用の問題、ファイル拡張エラーなどの一般的なエラーに注意し、デバッグのエラーレポートを有効にします。

PHPとは何ですか?それは何に使用されますか? PHPとは何ですか?それは何に使用されますか? Jul 16, 2025 am 03:45 AM

phpisaserver-sidesscriptinglanguageUsedforwebdevelopment、特にfordynamicwebsitesandcmsplatformslikewordpress.itrunsontheserver、processesdata、interactswithdatabases、andsendshtmltobrowsers.commonusesincludeurauthingication、e-commerceplatoblatoblotoftoflotfontiblotionforthentication

PHPで未定義のインデックスを処理する方法 PHPで未定義のインデックスを処理する方法 Jul 15, 2025 am 02:08 AM

アレイに存在しないキーにアクセスされるため、「未定義のインデックス」エラーが発生します。ソリューションには次のものが含まれます。1。ISSET()を使用して、ユーザー入力の処理に適したキーが存在するかどうかを確認(rèn)します。 2。array_key_exists()を使用して、キーが設(shè)定されているかどうかを判斷し、値がnullであっても認(rèn)識(shí)できます。 3.空のマージオペレーターを使用しますか??未定義のキーに直接アクセスしないようにデフォルト値を設(shè)定するには。さらに、フォームフィールド名の綴りなどの一般的な問題に注意を払う必要があります。データベースの結(jié)果は空です。配列の開梱は確認(rèn)されず、子キーがforeachをチェックインせず、session_start()は呼び出されません。

See all articles