Sqlite PHP权限问题/写入不同的文件夹


Sqlite PHP permission issue / writing to a different folder

>我有两个站点在一个盒子上运行,这些站点在不同的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下运行。

可能的解决方案是:

  1. 设置 0666(每个人都可写)权限到/var/www/db.sqlite,这很不安全
  2. 将 0660(所有者 + 组可写)设置为 sqlite,将两个站点用户添加到同一组,并将 db.sqlite 的 chgrp 添加到您创建的组中