代码之家  ›  专栏  ›  技术社区  ›  Brian Ramsay

如何从中心位置存储和访问SQLite数据库?

  •  1
  • Brian Ramsay  · 技术社区  · 14 年前

    我已经在我的Unix系统上安装了sqlite,并计划从PHP访问它。但是,数据库是在我初始化它的目录中创建的,如果脚本在不同的目录中运行,则会在同一目录中创建新的数据库。

    sqlite(或php包装器)是否可以选择在一个位置创建数据库,并且可以在该目录之外通过名称访问这些数据库?

    理想情况下,我希望能够做一些像 $db=new SQLiteDatabase("db.test"); 在任何目录中,并让它引用相同的数据库(如果这有意义的话)。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Pascal MARTIN    14 年前

    为了始终使用相同的数据库 (毕竟,这只是一个文件) , 你必须使用绝对路径 .

    而不是使用 'db.test' ,即 相对的 到当前目录,您必须使用 '/home/user/development/application/db.test'
    注意 / 在路径的开始,这使得它是绝对的。


    当然,这取决于你如何适应你的需求:—)

    一个好的可能性是,不要在代码中使用完全硬编码的路径 dirname(__FILE__) 在您的一个PHP文件中,获取包含该文件的目录的完整绝对路径,并从中构建,以获取数据库的文件。

        2
  •  1
  •   d11wtq Vadim Baryshev    14 年前

    您可能应该将绝对路径存储在配置文件中的某个位置,该文件在需要时提供该数据。如前所述,您可以使用 dirname(__FILE__) 获取包含PHP脚本所在目录的绝对路径,这样您就可以从那里开始工作。