我的centos服务器发生了一些奇怪的事情。我有一个星号服务器,我需要访问录制目录。但这是不可能的。
dir / var / spool是不可读的。我可以使用root用户和apache用户访问ssh,但是从php开始就不可能。
我不知道为什么!这个目录和/ var / test /具有相同的权限(所有者,组,chmod 755,ALL)。
我使用这个PHP代码:
我尝试使用exec函数(从另一个dirs工作),is_readable,file_get_contents但没有:(
function wav_callid($id) {
$id = (int) $id;
$filename = 'cid'.$id.'.wav';
$path = '/var/spool/asterisk/monitor/' . $filename;
$tmp_path = '/tmp/' . $this->global_model->generate_random_hash();
exec("cp '$path' '$tmp_path'");
var_dump(is_readable('/var/spool')); // RETURN FALSE
var_dump(scandir('/var/spool')); // RETURN FALSE
var_dump(file_get_contents($path)); // RETURN FALSE
var_dump(is_readable('/var/test')); // RETURN TRUE
var_dump(scandir('/var/test')); // RETURN ARRAY
/*header('Content-Description: File Transfer');
header('Content-Type: audio/x-wav');
header('Content-Disposition: attachment; filename=' . $filename);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
echo file_get_contents($tmp_path);*/
}
我该怎么做?
抱歉我的英语不好。
由于
答案 0 :(得分:0)
将项目保存到/ var / www / html目录中。然后更改权限。或者将项目foldar符号链接创建到/ var / www / html目录。
答案 1 :(得分:0)
Selinux阻止了这个目录。
Centos 6的命令:
echo 0 >/selinux/enforce
然后重启。