(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_popen — Открывает постоянное подключение к базе данных SQLite или создает ее, если она не существует
$filename
[, int $mode
= 0666
[, string &$error_message
]] )Эта функция идентична sqlite_open(), за исключением того, что она использует механизм постоянных соединений PHP. Описание аргументов находится в описании функции sqlite_open().
sqlite_popen() пытается найти уже открытый дескриптор
постоянного подключения к файлу filename
. Если такой дескриптор
уже есть, функция возвращает его, иначе он открывается заново.
Выгода от использования постоянного подключения заключается в том, что не тратится время на открытие файла и чтение структуры данных при каждом запросе. Это справедливо только в случае использования PHP в качестве SAPI веб-сервера (любой SAPI, кроме CGI и CLI).
Замечание: При использовании постоянных подключений необходимо следить за тем, чтобы файл базы данных не перезаписывался внешними процессами (например, программой, запущенной с помощью crontab), которые пересоздают файл с базой данных (например, с помощью удаления и создания заново или при замене старой версии обновленной версией из другого файла), так как это вызовет непредсказуемые последствия при удалении старой версии базы данных. Для избежания этой ситуации, убедитесь что ваши фоновые процессы открывают нужный файл с базой данных и выполняют обновления с помощью транзакций.
filename
Имя файла базы данных SQLite. Если файл не существует, SQLite попытается создать его. PHP должен владеть правами записи на файл в случае вставки данных, изменения схемы базы данных или создания файла с базой данных, если он не существует.
mode
Режим прав доступа на файл. Предназначется для открытия базы данных в режиме только для чтения, однако в настоящее время этот аргумент не используется библиотекой sqlite. Значением по умолчанию (и рекомендуемым к использованию) является восьмеричное 0666.
error_message
Передается по ссылке и устанавливается в читабельное сообщение об ошибке, объясняющее почему не удалось открыть базу данных, в случае возникновения таковой ошибки.
Возвращает ресурс (дескриптор базы данных) в случае успеха, или
FALSE
в случае ошибки.