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