我有一个网页尝试读取文件,但获取权限被拒绝错误。我写了一个非常简单的页面来重现问题。Apache/PHP没有读取文件的权限
<?php
echo exec('whoami');
echo "<br>";
echo exec('cat /var/svn/aaa/format 2>&1');
?>
作为一个测试,我已经试过在SVN目录和下面的一切的荒谬777设置权限,所有权变更到Apache和尝试添加Apache用户到不同的组。我已经确认它是以apache用户身份运行的(即上面的whoami呼叫是什么)。如果我尝试在命令行中运行上面的命令,阿帕奇然后正常工作,如
sudo -u apache cat /var/svn/aaa/format 2>&1
这是为什么没有做什么,我期待?我期望给予文件777会给'其他'完整的权限,我希望改变所有者到Apache也将解决问题。我希望做的sudo作为apache用户会失败,如果它从php失败。
顺便说一句,只是为了完整,这是我运行WebSVN的问题,但它似乎是一个Apache问题,而不是WebSVN问题。
is safe_mode enabled on your server? (检查ini_get('safe_mode'))...可能会导致问题。 – Kurt
如果我回声ini_get('safe_mode')我什么也没有,但看在/etc/php.ini我看到“safe_mode =关” – MikeKulls