Php PDO连接到不同服务器上的SQLite服务器

Php PDO连接到不同服务器上的SQLite服务器,php,sqlite,pdo,Php,Sqlite,Pdo,我有一个非常简单的SQLite数据库,需要从不同的服务器读/写 假设数据库存储在此处: 我使用PHP从中访问它 因此,我的第一次尝试如下: $dbpath = "http://www.abc.com/data/data.sqlite"; $dbconn = "sqlite:$dbpath"; $db = new PDO($dbconn) Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1

我有一个非常简单的SQLite数据库,需要从不同的服务器读/写

假设数据库存储在此处: 我使用PHP从中访问它

因此,我的第一次尝试如下:

$dbpath = "http://www.abc.com/data/data.sqlite";
$dbconn = "sqlite:$dbpath";
$db = new PDO($dbconn)
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [14] unable to open database file'.........PDO->__construct('sqlite:http://w...') #1 {main} thrown
不好,我得到以下信息:

$dbpath = "http://www.abc.com/data/data.sqlite";
$dbconn = "sqlite:$dbpath";
$db = new PDO($dbconn)
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [14] unable to open database file'.........PDO->__construct('sqlite:http://w...') #1 {main} thrown
如果尝试将数据库复制到我访问的同一台服务器上:

$dbpath = "http://www.xyz.com/data/data.sqlite";
$dbconn = "sqlite:$dbpath";
$db = new PDO($dbconn)
我得到了同样的信息。 只有当我在同一台服务器上给它一个相对路径时:

$dbpath = "../data/data.sqlite";
它确实有效。 我知道数据库URL和数据库本身是正确的。 那么,访问跨服务器是否有限制?有人知道如何解决这个问题吗


非常感谢。

没有像“SQLite服务器”这样的东西。它仅以文件的形式存在。
但是HTTP协议中没有文件,只有URI。
因此,这是基本的不兼容性

要进行远程通话,您有3种选择

  • 只是开个玩笑:在每次SELECT查询之前本地下载该文件,并在更新后将其上载回
  • 建立一些代理脚本,以接收查询并返回json
  • 给自己买一台真正的数据库服务器
  • 或者只是更改项目架构,以消除远程访问的需要

  • 或者选项5,将SQLite文件放在网络文件系统上。当然,这会导致各种有趣的锁定和并发问题。。。