PHP の OpenSSL サポートを使用するには、--with-openssl[=DIR] を指定して PHP を コンパイルする必要があります。
OpenSSL ライブラリを動作させるためには、実行時にさらに必要なものがあります。 特に、OpenSSL から乱数 (あるいは疑似乱数) 生成器にアクセスできなければなりません。 たいていの Unix および Unix 系のプラットフォーム (Linux など) の場合、 /dev/urandom あるいは /dev/random デバイスがこれにあたります。
注意: Win32 ユーザーへの注意
この拡張モジュールを動作させるには、 Windows システムの PATH が通った場所に DLL ファイルが存在する必要があります。 FAQ の "Windows で PHP のディレクトリを PATH に追加するにはどうすればいいのですか?" で、その方法を説明しています。 DLL ファイルを PHP のフォルダから Windows のシステムディレクトリにコピーしても動作します (システムディレクトリは、デフォルトで PATH に含まれるからです) が、これは推奨しません。 この拡張モジュールを使用するには、以下のファイルが PATH の通った場所にある必要があります。 libeay32.dll
加えてキー生成およびサイン認証関数を使用する計画がある場合、 システムに 有効な openssl.cnf をインストールする 必要があります。PHP 4.3.0 以降では、 Win32 バイナリ配布版にサンプル設定ファイルが同梱することにしました。 PHP 4.3.x および 4.4.x の場合は openssl ディレクトリ、 PHP 5.x および 6.x の場合は extras/openssl ディレクトリにあります。 PHP 4.2.0 以降を使用しておりこのファイルがない場合は、 » OpenSSL バイナリのページから入手するか、 あるいはより新しい版の PHP をダウンロードしてそこから設定ファイルを使用することができます。 Windows のエクスプローラは、拡張子 .cnf をデフォルトで非表示とすることに注意しましょう。この拡張子のファイルの種類は 短縮ダイヤル と表示されます。
PHP は、 以下のロジックにより openssl.cnf を探します。
インストール時に、設定ファイルを c:\usr\local\ssl\openssl.cnf または 他の場所にインストールし、(例えば仮想ホスト毎に)環境変数に設定ファ イルの場所を指定するかを選ぶ必要があります。 設定ファイルを必要とする関数の
- 環境変数 OPENSSL_CONF が設定された場合、 設定ファイルの(ファイル名を含む)パスとして使用されます。
- 環境変数 SSLEAY_CONF が設定された場合、 設定ファイルの(ファイル名を含む)パスとして使用されます。
- ファイル openssl.cnf はデフォルトの認証エリアに あることが仮定され、openssl DLL がコンパイルされた時間で設定されます。 通常、デフォルトのファイル名が c:\usr\local\ssl\openssl.cnf であることを 意味します。
configargs
に より、デフォルトのパスを上書きすることが可能であることに注意してください。