Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/07084.jsonl.gz/275

sqlite_popen() fonctionne exactement comme sqlite_open(), hormis le fait qu'elle utilise le mécanisme de ressources persistantes de PHP. Pour des détails sur la signification des paramètres, voyez la fonction sqlite_open().
sqlite_popen() va d'abord vérifier qu'il reste une connexion persistante déjà ouverte pour le fichier filename. Si elle peut en trouver une, elle l'utilisera, et sinon, elle ouvrira une nouvelle connexion.
L'intérêt de cette méthode est que vous évitez de relire la base, les schémas de tables et d'index, pour chaque page exécutée par un serveur web SAPI persistant (tous les SAPI, sauf les CGI et CLI).
Note : Si vous utilisez une connexion persistante et que la base de données est modifiée par un autre processus (via une table de cron, par exemple), et que le processus recrée la base en l'écrasant, soit par effacement et reconstruction, ou par déplacement d'une nouvelle version à la place de l'ancienne, vous pourriez obtenir des comportements inattendus lorsque vous utiliserez une vielle connexion persistante sur une nouvelle base.
Pour éviter cette situation, faîtes que vos processus parallèles ouvrent les bases et fassent leurs modifications dans une transaction.