>我有两个站点在一个盒子上运行,这些站点在不同的IP地址上应答。
这两个站点都有不同的根文件夹/var/www/
和/var/www2
。
/var/www
包含主站点和 sqlite 数据库。
/var/www2
包含一些需要访问同一数据库的脚本。
我试过了
$db = new PDO('sqlite:/var/www/db.sqlite');
从第二个站点,但是,我一直得到File not found
,在日志中我得到
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,``
这两个站点在没有路径的情况下读取/写入其自己的文件夹中的数据库时都可以正常工作。
谁能建议什么?
嗯,
这是权限问题。Site1 http 服务器在 site1 用户下运行,site2 在site2 user下运行。
可能的解决方案是:
- 设置 0666(每个人都可写)权限到/var/www/db.sqlite,这很不安全
- 将 0660(所有者 + 组可写)设置为 sqlite,将两个站点用户添加到同一组,并将 db.sqlite 的 chgrp 添加到您创建的组中。