PHPユニットテストを実行しようとすると、次の例外が発生します。
致命的なエラー:未定義の関数openssl_random_pseudo_bytes()の呼び出し
どういう意味ですか?
私も同じ問題を抱えていました。php.iniファイルを編集して解決しました-に変更;extension=php_openssl.dll
しextension=php_openssl.dll
ます。
(私のインストールでは、php.iniファイルは私のP:\Program Files\EasyPHP-12.1\conf_files\
ディレクトリにありました。)
openssl
お使いのバージョンのPHPはモジュールでコンパイルされていません。ソースからビルドする場合は、次のようにモジュールを追加します。
cd /path/to/php-5.4/
./configure --with-openssl
これは、PHPインストールでopenssl拡張機能が有効になっていないことを意味します。openssl_ *関数を使用するには、これを有効にする必要があります。
これは、 opensslが有効になっていない可能性があることを意味します。
Windowsを使用している場合は、ロードがさらに簡単になります。システムトレイのWampアイコンから有効にします。
phpインストールでopensslが有効になっていないか、php<5.3のバージョンを実行している可能性があります。
opensslを有効にするには、「–with-openssl」フラグを指定してphpを再コンパイルしてインストールする必要があります。PHPのインストールドキュメントを参照してください
構成を確認してくださいphp.ini:
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
;extension_dir = "./"
; On windows:
extension_dir = "ext"
extension=php_openssl.dll
私の場合、このエラーは、PHP用にopensslを正しく構成していなかったために発生しました。これは、このエラーを修正するために私が実行した正確な手順です。 https://stackoverflow.com/a/36070260/1221096