{"record":{"id":"1ad4f465e95212b5","repo":"symfony/http-foundation","slug":"unsupported-pdo-oci-dsn-try-running-composer-require","errorCode":null,"errorMessage":"Unsupported PDO OCI DSN. Try running \"composer require doctrine/dbal\".","messagePattern":"Unsupported PDO OCI DSN\\. Try running \"composer require doctrine/dbal\"\\.","errorType":"exception","errorClass":"InvalidArgumentException","httpStatus":null,"severity":"error","filePath":"Session/Storage/Handler/SessionHandlerFactory.php","lineNumber":74,"sourceCode":"            case str_starts_with($connection, 'pdo_oci://'):\n                if (!class_exists(DriverManager::class)) {\n                    throw new \\InvalidArgumentException('Unsupported PDO OCI DSN. Try running \"composer require doctrine/dbal\".');\n                }\n                $connection[3] = '-';\n                $params = (new DsnParser())->parse($connection);\n                $config = new Configuration();\n                $config->setSchemaManagerFactory(new DefaultSchemaManagerFactory());\n\n                $connection = DriverManager::getConnection($params, $config)->getNativeConnection();\n                // no break;\n\n            case str_starts_with($connection, 'mssql://'):\n            case str_starts_with($connection, 'mysql://'):\n            case str_starts_with($connection, 'mysql2://'):\n            case str_starts_with($connection, 'pgsql://'):\n            case str_starts_with($connection, 'postgres://'):\n            case str_starts_with($connection, 'postgresql://'):\n            case str_starts_with($connection, 'sqlsrv://'):\n            case str_starts_with($connection, 'sqlite://'):\n            case str_starts_with($connection, 'sqlite3://'):\n                return new PdoSessionHandler($connection, $options);","sourceCodeStart":56,"sourceCodeEnd":92,"githubUrl":"https://github.com/symfony/http-foundation/blob/5aea19cd678fa4140f6108406f1096de5e9ed6e4/Session/Storage/Handler/SessionHandlerFactory.php#L56-L92","documentation":"An InvalidArgumentException thrown by SessionHandlerFactory::createHandler() when a pdo_oci:// DSN is supplied but Doctrine DBAL (DriverManager) is not installed, so the factory cannot translate the OCI DSN into a native PDO connection for PdoSessionHandler. It is a dependency-availability guard; the DSN scheme itself is recognized.","triggerScenarios":"Thrown at Session/Storage/Handler/SessionHandlerFactory.php:74 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Run composer require doctrine/dbal to enable pdo_oci:// DSN support","Use a directly supported PDO DSN instead (mysql://, pgsql://, sqlite://, sqlsrv://, mssql://) which needs no DBAL","Create the OCI connection yourself and pass a PDO instance or DSN string PdoSessionHandler accepts"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5aea19cd678fa4140f6108406f1096de5e9ed6e4","analyzedAt":"2026-09-13T01:52:22.855Z","contentChangedAt":"2026-09-13T01:52:22.855Z","schemaVersion":2},"datasetVersion":"2026-09-16T09:17:16.951Z"}