(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_popen — Abrir un gestor persistente a una base de datos SQLite y crearla si no existe
$filename
[, int $mode
= 0666
[, string &$error_message
]] )Esta función se comporta de manera idéntica a sqlite_open() excepto que usa el mecanismo de recurso persistente de PHP. Para más información sobre el significado de los parámetros, lea la página del manual de sqlite_open().
sqlite_popen() primero comprobará si ya está abierto
un gestor persistente para el fichero dado por
filename
. Si encuentra uno, devuelve ese gestor
al script, si no, abre un gestor nuevo a la base de datos.
El beneficio de este enfoque es que no se sufre el coste de rendimiento de releer la base de datos y el esquema índice en cada página servida por una SAPI del servidor web persistente (cualquier SAPI excepto CGI o CLI normales).
Nota: Si se usan gestores persistentes y se tiene la base de datos actualizada por un proceso en segundo plano (quizás mediante un crontab), y ese proceso recrea la base de datos sobrescribiéndola (mediante desenlazando y reconstruyendo, o moviendo la versión actualizada para reemplazar la versión actual), se puede experimentar un comportamiento indefinido cuando un gestor persistente de la versión antigua de la base de datos es reciclado. Para evitar esta situación se han de tener los procesos en segundo plano con la misma base de datos abierta y realizar sus actualizaciones en una transacción.
filename
El nombre de fichero de la base de datos SQLite. Si el fichero no existe, SQLite intentará crearlo. PHP debe tener permisos de escritura al fichero si los datos son insertados, el esquema de la base de datos se modifica o se crea la base de datos si no existe.
mode
El modo del fichero. Previsto para abrir la base de datos en modo sólo lectura. Actualmente, este parámetro es ignorado por la biblioteca sqlite. El valor predeterminado para el modo es el valor octal 0666, que es el valor recomendado.
error_message
Pasado por referencia y establecido para contener un mensaje de error descriptivo explicando el por qué la base de datos no pudo abrirse si ocurrió un error.
Devuelve un recurso (gestor de base de datos) en caso de éxito, FALSE
en caso de error.