在我的CI控制器上使用PhPAS0.3时,我得到了这个错误
消息: is_readable() function.is.是可读的:有效的open_basedir限制。文件(/dev/urandom)不在允许的路径内:(/home/:/usr/lib/php:/usr/local/lib/php:/tmp)
文件名: phpass-0.3/PasswordHash.php
有人能告诉我问题是什么吗?
发布于 2012-03-22 08:22:59
open_basedir是在php.ini文件中定义的指令。
它被设置为允许从PHP脚本(通常是webroot )访问的最低目录。
尝试访问树下的文件/目录(如in /dev/ )将被破坏,您将得到所拥有的消息。
您必须编辑您的php.ini并将open_basedir设置为您的服务器根目录,这在安全性上通常是一件坏事--就好像有人成功地将恶意代码注入到您的脚本中一样--他们可以访问整个系统。
如果您真的需要的话,执行一个驻留在web文件夹中的脚本(Perl、Python等)来读取/dev/urandom会更安全。
$output = `/scripts/get_urandom.pl`;
// Process output通过消除错误,phpass 解决这个问题的版本1.8:
自修订1.7以来的变化:+2-2行: 将is_readable()以"@“作为前缀,以在open_basedir限制生效时抑制警告。
https://stackoverflow.com/questions/9817899
复制相似问题