如何仅授予PHP权限以读取Web根目录外的配置目录?

时间:2014-03-12 10:59:05

标签: php apache configuration file-permissions

我试图将我的db conf连接文件隐藏在我的Web服务器的Web根目录之外。我想把它放在外面并尽可能保留权限,以便只允许Web管理员和PHP解释器读取它。

该文件具有以下权限:

-rw ------- 1 serveradmin serveradmin 150 mar 12 01:12 db-conf.php

但是当web根目录中的php脚本使用require_once'/ path/outside/webroot/to/db-conf.php'调用它时;我得到了php权限被拒绝错误。

**警告:require_once(/path/outside/webroot/to/db-conf.php):无法打开流:第x行/var/www/php-script.php中的权限被拒绝

致命错误:require_once():在x行上的/var/www/php-script.php中打开所需的''(include_path =':')失败

我该如何解决?

1 个答案:

答案 0 :(得分:0)

如果您通过网络服务器运行PHP,即apache,那么PHP作为apache用户运行,无论PHP可以读取什么,apache都可以读取,因此您必须为此文件提供apache读取权限。如果它在网站目录之外,那么人们将无法通过apache获取它,但PHP将能够找到它。