我能';t运行Phpass测试
任何人都知道出了什么问题,我正在运行Ubuntu(服务器)并安装了Apache2.2.14-5和PHP5.3.2-1。当访问test.php文件时,我得到一个HTTP 500错误。下面是我在error.log中得到的信息我能';t运行Phpass测试,php,phpass,Php,Phpass,任何人都知道出了什么问题,我正在运行Ubuntu(服务器)并安装了Apache2.2.14-5和PHP5.3.2-1。当访问test.php文件时,我得到一个HTTP 500错误。下面是我在error.log中得到的信息 [Thu Oct 27 16:15:41 2011] [error] [client myip] PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0 [Thu
[Thu Oct 27 16:15:41 2011] [error] [client myip] PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
[Thu Oct 27 16:15:41 2011] [error] [client myip] PHP Fatal error: Unknown: Failed opening required '/blob/public_html/phpass-0.3/test.php' (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0
有人知道如何设置PHPass吗
编辑:做了一个简单得多的测试:,产生了与上面相同的错误
EDIT2:我已将导致这些错误的原因缩小到以下代码行:
if(is_readable('/dev/urandom') && ($fh = @fopen('/dev/urandom', 'rb'))) {
$output = fread($fh, $count);
fclose($fh);
}
EDIT3:事实证明我无法读取错误消息,实际发生的是PHP无法读取文件本身。一个快速的sudo chmod-R 777 phpass-0.3暂时修复了这一问题,但这里必须有一个更好的方法。如前所述,该错误消息通常指示文件权限问题。当然不需要全局读/写/执行权限,但请确保授予Apache对文件的读访问权限。例如:
chmod 755 phpass-0.3
chmod 644 phpass-0.3/*.php
这可能是文件权限问题吗?查看主
PasswordHash.php
文件的源代码,我唯一能看到它试图打开的是/dev/uradom
。在快速的google上,唯一可能停止的是php.ini中的open_basedir指令,我的指令被注释掉了。我不得不让它归Apache所有:chown www-date phpass-0.3
www-data是用户在Ubuntu上为web服务器(这里是Apache)自动创建的(至少,如果我错了,请纠正我)。然后给出读取权限:chmod-R+R phpass-0.3
。那应该没问题。我最后算出来了,但记不清现在是怎么回事了:P不过谢谢你的回复