2012-04-23 13 views
0

次のコードは、WindowsのWAMPで出力を生成していません。WAMPハッシュが生成されない

MAMPでは正常に動作します。

モジュールが見つからないと思います。

$reportHash = str_replace(
     array('+','/','='), 
     array('-','_',''), 
     base64_encode(file_get_contents('/dev/urandom', null, null, -1, 16))); 

答えて

2

Windowsには/dev/urandomはありません。

ポータブルランダムストリングジェネレータにはuniqid()、ポータブル乱数ジェネレータにはmt_rand()を使用してください。

+0

私にそれを打つ!ここでは、mt_rand()に関連する質問があります:http://stackoverflow.com/questions/9446892/php-using-mcrypt-create-iv –

+0

WAMP内でさえ? – David

+0

@David、WAMPは、Windows上でPHP、Apache、MySQLを簡単に実行できるソフトウェアの集まりです。それらはUNIXではなくWindows上で実行されます。 '/ dev/urandom'はUNIXファイルシステム上に存在するファイルです([' file_get_contents() '](http://php.net/file_get_contents)実際にファイルを開き読み込みますが、Windows上には存在しません読み込みは失敗します。このファイルを使用すると、コードの移植性がUNIXシステム(LinuxやMac OS Xなど)に制限されます。 – rid

関連する問題