Как я могу хранить и получать доступ к базам данных SQLite из центрального расположения? - PullRequest
1 голос
/ 25 апреля 2010

Я установил SQLite в своей системе UNIX и планирую получить к нему доступ из PHP. Однако база данных создается в каталоге, в котором я ее инициализирую, и если скрипт выполняется в другом каталоге, в этом же каталоге создается новая база данных.

Есть ли возможность для SQLite (или оболочек PHP) создавать базы данных в одном месте, и эти базы данных будут доступны только по имени за пределами этого каталога?

В идеале я хотел бы иметь возможность делать что-то вроде $db=new SQLiteDatabase("db.test"); в любом каталоге и ссылаться на одну и ту же базу данных, если это имеет смысл.

Ответы [ 2 ]

3 голосов
/ 25 апреля 2010

Чтобы всегда использовать одну и ту же базу данных (которая, в конце концов, является только файлом) , вам нужно будет использовать абсолютный путь .

Вместо использования 'db.test', который относительно относительно текущего каталога, вам придется использовать что-то вроде '/home/user/development/application/db.test'.
Обратите внимание на / в начале пути, что делает его абсолютным.


Конечно, до вас, чтобы адаптировать это к вашим потребностям: -)

Хорошей возможностью, чтобы не указывать полностью жестко заданный путь в вашем коде, было бы использование dirname(__FILE__) в одном из ваших файлов PHP, получение полного абсолютного пути к каталогу, содержащему этот файл, и создание оттуда, чтобы добраться до файла вашей базы данных.

1 голос
/ 25 апреля 2010

Вы, вероятно, должны хранить абсолютный путь где-то в файле конфигурации, который предоставляет эти данные везде, где это необходимо. Как было сказано ранее, вы можете использовать dirname(__FILE__), чтобы получить абсолютный путь к каталогу, в котором находится содержащий скрипт PHP, чтобы вы могли работать оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...