【发布时间】:2015-12-22 05:48:12
【问题描述】:
当使用 is_readable() 函数获取本地文件是否可读时,从浏览器运行时获得的结果与从命令行运行时不同。
脚本使用:
<?php
var_dump(php_ini_loaded_file());
var_dump(phpversion());
var_dump(posix_getuid());
var_dump(is_readable('/dev/shm/rrds'));
?>
我正在检查相同的 php.init 文件、phpversion 和用户,全部相等,但仍然从浏览器获取 is_readable() 为 false,从 cli 获取 true。
浏览器输出:
string(12) "/etc/php.ini" string(5) "5.3.3" int(48) bool(false)
CLI 输出
string(12) "/etc/php.ini"
string(5) "5.3.3"
int(48)
bool(true)
/dev/shm/rrds 的权限:drwxr-xr-x。
/dev/shm 作为 tmpfs 挂载在 /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
有人知道为什么吗?!
【问题讨论】:
-
使用浏览器执行时,is_readable 也应该返回 true...