web-dev-qa-db-ja.com

致命的なエラー:未定義の関数openssl_random_pseudo_bytes()の呼び出し

PHP単体テストを実行しようとすると、この例外が発生します。

致命的なエラー:未定義の関数openssl_random_pseudo_bytes()の呼び出し

どういう意味ですか?

15
Kevin Burke

PHPのバージョンはopensslモジュールでコンパイルされていません。ソースからビルドする場合は、次のようにモジュールを追加してください:

cd /path/to/php-5.4/
./configure --with-openssl
9
Kevin Burke

同じ問題がありました。私はphp.iniファイルを編集して解決しました-;extension=php_openssl.dllからextension=php_openssl.dll

(私のインストールでは、私のphp.iniファイルはP:\Program Files\EasyPHP-12.1\conf_files\ディレクトリ。)

21

openssl が有効になっていない可能性があります。

Windowsを使用している場合は、読み込みがさらに簡単です。システムトレイのワンプアイコンから有効にします。

enter image description here

enter image description here

4
hitesh israni

これは、PHPインストールで openssl拡張機能 が有効になっていないことを意味します。 openssl_ *関数を使用するには、これを有効にする必要があります。

3
John Conde

Phpのインストールでopensslが有効になっていないか、php <5.3のバージョンを実行している可能性があります。

Opensslを有効にするには、 "– with-openssl"フラグを指定してphpを再コンパイルしてインストールする必要があります。 phpインストールドキュメント を参照してください

1
Tommy McGlynn

設定を確認してください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
0
CamelTM