( string filename [, int mode [, string &errmessage]] )
This function behaves identically to sqlite_open()
except that is uses the persistent resource mechanism of PHP.
For information about the meaning of the parameters, read the
sqlite_open() manual page.
sqlite_popen() will first check to see if a persistent
handle has already been opened for the given
filename. If it finds one, it returns that handle
to your script, otherwise it opens a fresh handle to the database.
The benefit of this approach is that you don't incurr the performance
cost of re-reading the database and index schema on each page hit served
by persistent web server SAPI's (any SAPI except for regular CGI or CLI).
If you use persistent handles and have the database updated by a
background process (perhaps via a crontab), and that process re-creates
the database by overwriting it (either by unlinking and rebuilding, or
moving the updated version to replace the current version),
you may experience undefined behaviour when a persistent handle on the
old version of the database is recycled.
To avoid this situation, have your background processes open the same
database file and perform their updates in a transaction.
See also sqlite_popen(),