インストール手順
PHP の OpenSSL サポートを使用するには、--with-openssl[=DIR] を指定して PHP を コンパイルする必要があります。
OpenSSL ライブラリを動作させるためには、実行時にさらに必要なものがあります。
特に、OpenSSL から乱数 (あるいは疑似乱数) 生成器にアクセスできなければなりません。
たいていの Unix および Unix 系のプラットフォーム (Linux など) の場合、
/dev/urandom
あるいは
/dev/random
デバイスがこれにあたります。
PHP 5.6.3 以降では、configure オプション --with-system-ciphers が利用できます。 これにより、PHP がハードコードされたデフォルトではなく、システムが持つ暗号リストを使うようになります。
注意:
Win32 ユーザーへの注意
この拡張モジュールを動作させるには、 Windows システムの
PATH
が通った場所に DLL ファイルが存在する必要があります。 FAQ の "Windows で PHP のディレクトリを PATH に追加するにはどうすればいいのですか?" で、その方法を説明しています。 DLL ファイルを PHP のフォルダから Windows のシステムディレクトリにコピーしても動作します (システムディレクトリは、デフォルトでPATH
に含まれるからです) が、これは推奨しません。 この拡張モジュールを使用するには、以下のファイルがPATH
の通った場所にある必要があります。libeay32.dll
, または、OpenSSL 1.1 以降ではlibcrypto-*.dll
加えてキー生成およびサイン認証関数を使用する計画がある場合、 システムに 有効な
openssl.cnf
をインストールする 必要があります。 Win32 バイナリ配布版にサンプル設定ファイルを同梱することにしました。extras/openssl
ディレクトリにあります。PHP は、 以下のロジックにより
openssl.cnf
を探します。
- 環境変数
OPENSSL_CONF
が設定された場合、 設定ファイルの(ファイル名を含む)パスとして使用されます。- 環境変数
SSLEAY_CONF
が設定された場合、 設定ファイルの(ファイル名を含む)パスとして使用されます。- ファイル
openssl.cnf
はデフォルトの認証エリアに あることが仮定され、openssl DLL がコンパイルされた時間で設定されます。 これは通常、デフォルトのファイル名がc:\usr\local\ssl\openssl.cnf
(x64の場合), またはC:\Program Files (x86)\Common Files\SSL\openssl.cnf
(x86の場合), PHP 7.4.0 より前のバージョンではC:\usr\local\ssl\openssl.cnf
であることを意味します。インストール時に、設定ファイルを デフォルトのパス または 他の場所にインストールし、(例えば仮想ホスト毎に)環境変数に設定ファ イルの場所を指定するかを選ぶ必要があります。 設定ファイルを必要とする関数の
configargs
に より、デフォルトのパスを上書きすることが可能であることに注意してください。警告 権限がないユーザーに
openssl.cnf
を変更させないようにしてください。
変更履歴
バージョン | 説明 |
---|---|
7.4.0 | OpenSSL のデフォルトの設定ファイルのパスが
|