SQLite: PDOException: open_basedir prohibits opening :memory:?cache=shared
Ouverte
Bug
Extension: pdo_sqlite
Extension: sqlite3
Status: Verified
- Langage dominant
- C
- Étoiles
- 40.4k
- Forks
- 8.2k
- Merge moyen
- 2 j 13 h
- PR mergées (30 j)
- 96
Description
Description
The following code:
#!/usr/bin/env php
<?php
print "open_basedir: ";
var_dump(ini_get("open_basedir"));
print "\n";
$db = new \PDO("sqlite::memory:?cache=shared", null, null, [
\PDO::ATTR_PERSISTENT => true,
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
\PDO::ATTR_EMULATE_PREPARES => false,
\PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC,
]);
Resulted in this output:
$ ./sqlite-nomemory.php
open_basedir: string(0) ""
PHP Fatal error: Uncaught PDOException: open_basedir prohibits opening :memory:?cache=shared in …\sqlite-nomemory.php:8
Stack trace:
#0 …\sqlite-nomemory.php(8): PDO->__construct('sqlite::memo
ry:...', NULL, Object(SensitiveParameterValue), Array)
#1 {main}
thrown in …\sqlite-nomemory.php on line 8
But I expected this output instead:
I expected no error. Frankly, the code should just work.
PHP Version
PHP 8.4.13 (cli) (built: Sep 23 2025 15:17:09) (ZTS Visual C++ 2022 x64)
Copyright (c) The PHP Group
Zend Engine v4.4.13, Copyright (c) Zend Technologies
with Zend OPcache v8.4.13, Copyright (c), by Zend Technologies
Operating System
Windows 10
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par exécuter la reproduction sqlite-nomemory.php sous Windows 10 avec PHP 8.4.13 et examinez la gestion de PDO SQLite atteinte par le constructeur PDO. C'est terminé lorsque la connexion sqlite::memory:?cache=shared présentée s'établit sans l'exception open_basedir ; une pull request ouverte est déjà liée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- php, sqlite
- Domaine
- database
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 20/100