我有LAMP服务器
服务器版本:Apache / 2.4.29(Ubuntu)
PHP:PHP 7.2.5-0ubuntu0.18.04.1
我需要在www / html文件夹之外给一个php SQLITE3访问数据库。 现在我的文件系统看起来就是这样。
/root
./database
user.db
/var
./www
./html
index.html
reg.php
user.db必须位于/ root / database中,所以将它放在var / www / html中对我来说不是解决方案。
所以我需要为Apache或php提供访问此文件夹的权限。 我在这里找到了一些信息https://httpd.apache.org/docs/2.4/urlmapping.html,但是没有得到这个如何运作以及我需要把它放在哪里?
答案 0 :(得分:1)
这里的问题是Linux权限,而不是URL映射,因为PHP在后端的服务器中运行。
如果您将PHP作为Apache模块运行(mod_php
或类似的东西),它将与Apache用户和组(通常为www-data:www-data
或nobody:nogroup
一起运行,它取决于LAMP配置)。
因此,您应该授予权限并更改user.db
文件及其树的所有权,例如:
chmod o+x /root
chmod o+x /root/database
chown www-data:www-data /root/database/user.db
您可以阅读有关权限here的更多信息。