title: PHPass error: function name must be a string
body: <p>I get this error with PHPass:</p>
  
  <blockquote>
    <p>Warning: is_readable(): open_basedir restriction in effect.
    File(/dev/urandom) is not within the allowed path(s):
    (/customers/example.com/example.com/httpd.www:/customers/example.com/example.com/httpd.private:/customers/example.com/example.com/tmp:/customers/example.com/example.com:/var/www/diagnostics:/usr/share/php)
    in /customers/example.com/example.com/httpd.www/example/scripts/PasswordHash.php
    on line 51 Fatal error: Function name must be a string in
    /customers/example.com/example.com/httpd.www/example/register.php on line 82</p>
  </blockquote>
  
  <p>Lines 51-54 on PasswordHash.php (PHPass):</p>
  
  <pre><code>    if (is_readable('/dev/urandom') &amp;&amp;
          ($fh = @fopen('/dev/urandom', 'rb'))) {
          $output = fread($fh, $count);
          fclose($fh);
  </code></pre>
  
  <p>Lines 81-84 of register.php (also including: the first two lines are the require and the $hasher):</p>
  
  <pre><code>require('scripts/PasswordHash.php');
  $hasher = new PasswordHash(8, false);
  $hash = $hasher-&gt;HashPassword($pw);
  if($strlen($hash) &lt; 20){
      $notice[] = "Error";
  }
  </code></pre>
  
  <p>So, what does this error mean?</p>