PDO подключается к серверу SQLite на разных серверах

У меня очень простая база данных SQLite, которую мне нужно читать / писать с другого сервера.

Скажем, база данных хранится здесь: http://www.abc.com/data/data.sqlite И я использую PHP для доступа к ней с http://www.xyz.com

Итак, моя первая попытка заключалась в следующем:

$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 варианта

  1. Только как шутка: загружайте файл локально перед каждым запросом SELECT и загружайте его после обновлений
  2. Установите некоторый прокси-скрипт, чтобы получить запрос и вернуть json.
  3. Получите себе настоящий сервер базы данных.
  4. Или просто измените архитектуру проекта, чтобы устранить необходимость удаленного доступа.