2013-06-20 2 views
3

Я пытаюсь получить доступ к базе данных SQLite через расширение PDO внутри архива Phar, но я получаю сообщение об ошибке:SQLite базы данных внутри архива Phar

exception 'PDOException' with message 'SQLSTATE[HY000] [14] unable to open database file'

PHP руководство говорит, что можно изменять файлы внутри архива. Как я могу это исправить?

+1

SQLite требует случайного доступа к файлу базы данных, сможет его вырастить и т. Д. Файлы в архивах zip/phar можно перезаписывать, а не обновлять по блокам. Нет кубиков. – mario

+2

Нет ли какой-либо директивы для установки базы данных только для чтения? В том, что мне нужен только доступ на чтение. – stil

ответ

1

После некоторых исследований, я понял, что проблема может быть решена небольшим взломом.

  1. Скопируйте файл базы данных во временный каталог системы
  2. Connect PDO для копии базы данных и сделать ваши операции
  3. Переписать исходный файл базы данных с измененной копией.

Не очень надежное решение - вам нужно быть осторожным с необработанными ошибками или исключениями, поскольку вы можете потерять свои изменения.

Смежные вопросы