yajra/laravel-pdo-via-oci8

PDO userspace driver proxying calls to PHP OCI8 driver
3,998,966 91
Install
composer require yajra/laravel-pdo-via-oci8
Latest Version:v3.7.3
PHP:^8.0
License:MIT
Last Updated:Sep 17, 2026
Links: GitHub  ·  Packagist
Maintainer: yajra

Oracle PDO Userspace Driver for OCI8

PDO via Oci8

Continuous Integration Coverage Latest Stable Version Total Downloads Latest Unstable Version License

The yajra/pdo-via-oci8 package is a simple userspace driver for PDO that uses the tried and tested OCI8 functions instead of using the still experimental and not all that functional. PDO_OCI library.

Please report any bugs you may find.

Installation

Add yajra/laravel-pdo-via-oci8 as a requirement to composer.json:

{
    "require": {
        "yajra/laravel-pdo-via-oci8": "2.*"
    }
}

And then run composer update

PHP 8 Support

When using PHP 8, please use version 3: "yajra/laravel-pdo-via-oci8": "3.*".

Testing

There is a test suite (using PHPUnit with a version bigger than 6.x) on the test directory. If you want to test (you must test your code!), create a table called people with two columns:

  1. name as varchar2(50)
  2. email as varchar2(30)

And some environment variables:

  1. OCI_USER with the database user name
  2. OCI_PWD with the database password
  3. OCI_STR with the database connection string

And then go to the test dir and run PHPUnit like:

phpunit --colors .

Example to get it up and running on docker DB container-registry.oracle.com/database/enterprise:12.2.0.1

create pluggable database testpdb admin user oracle identified by system file_name_convert = ('/pdbseed/', '/testpdb01/');
alter pluggable database testpdb open;

ALTER SESSION SET CONTAINER=testpdb;

CREATE TABLE person (name NVARCHAR2(50), email NVARCHAR2(30));

License

The MIT License (MIT). Please see License File for more information.

Credits

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

634,760,849 9,707
laravel/framework

The Laravel Framework.

584,532,650 34,931
laravel/tinker

Powerful REPL for the Laravel framework.

493,838,477 7,443
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

408,553,772 609
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

387,976,821 4,658