【问题标题】:SQLite database inside Phar archivePhar 存档中的 SQLite 数据库
【发布时间】:2016-12-21 00:01:34
【问题描述】:

我正在尝试通过 Phar 存档中的 PDO 扩展访问 SQLite 数据库,但出现错误:

带有消息“SQLSTATE[HY000] [14] 无法打开数据库文件”的异常“PDOException”

PHP 手册说可以修改存档中的文件。我该如何解决?

【问题讨论】:

  • SQLite 需要对数据库文件进行随机访问,能够对其进行扩展等。zip/phar 档案中的文件只能被重写,不能逐块更新。没有骰子。
  • 没有设置数据库只读的指令吗?事实上,我只需要读取权限。

标签: php sqlite phar


【解决方案1】:

经过一番研究,我意识到,这个问题可以通过一点 hack 来解决。

  1. 复制数据库文件到系统临时目录
  2. 将 PDO 连接到数据库副本并进行操作
  3. 用修改后的副本覆盖原始数据库文件。

不是很可靠的解决方案 - 您需要小心未处理的错误或异常,因为您可能会丢失所做的更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-10
    • 2013-10-31
    • 2014-04-21
    • 2010-12-07
    • 1970-01-01
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多