Download the PHP package mrspockde/laravel-firebird without Composer

On this page you can find all versions of the php package mrspockde/laravel-firebird. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-firebird

Firebird Database Driver for Laravel

Latest release (including prereleases) Total Downloads Tests

mrspockde/laravel-firebird is an independently maintained Composer package in MrSpockDe/laravel-firebird. It adds Firebird PDO support, schema operations and Eloquent integration to Laravel. It derives from the original harrygulliford/laravel-firebird project; upstream ownership and contributor credits are preserved below.

Published release candidate: v4.0.0-rc.1 is available as a GitHub prerelease and on Packagist. Fresh consumers of the published artifact passed Laravel 12/13 × Firebird 4/5 (4/4 combinations). OweFlow's RC1 upgrade passed 88 tests / 493 assertions. See the release notes and validation evidence, roadmap. RC1 is a prerelease, not a stable release or a production-readiness guarantee.

Version Support

Laravel PHP versions in the CI matrix Firebird
12 (Illuminate >= 12.17) 8.2, 8.3, 8.4, 8.5 4, 5
13 8.3, 8.4, 8.5 4, 5

PHP 8.2 with Laravel 13 is not supported. Composer declares PHP ^8.2 and Illuminate ^12.17|^13.0; Laravel's own requirements further constrain valid combinations. The CLI and application runtime require pdo_firebird and its Firebird client library. CI uses Ubuntu and lowest/stable dependency resolutions; other platforms and future PHP versions are not established by this matrix.

Installation

Install the exact published RC1 from Packagist; no custom VCS repository is needed:

When switching from the earlier fork development setup, remove the custom firebird VCS repository entry from composer.json as part of the switch. The 4.x-dev constraint follows ongoing development and is not the pinned RC1. See the validation evidence for the checks against the published RC1 artifact.

The explicit RC constraint permits this package while retaining the application's minimum-stability: stable. Do not install it alongside harrygulliford/laravel-firebird; Composer declares a conflict with that package. For an existing consumer, remove the old requirement and resolve the new one in one reviewed Composer change, then inspect the generated lockfile.

Laravel automatically discovers HarryGulliford\Firebird\FirebirdServiceProvider. The existing HarryGulliford\Firebird\ PHP namespace and PSR-4 mappings remain unchanged; Composer package identity is independent of PHP class names.

Database creation for stock Laravel 13 migrations

A fresh installation using laravel/laravel v13.10.1, Laravel Framework v13.33.0 and the published mrspockde/laravel-firebird v4.0.0-beta.1 successfully ran all three unchanged Laravel standard migrations with php artisan migrate --no-interaction on Firebird 5.0.4, using 16384-byte pages, character set UTF8 and collation UTF8. The second run reported Nothing to migrate.

In a separate reproduction with 8192-byte pages, the original composite failed_jobs index on connection, queue and failed_at failed with key size exceeds implementation restriction. This is a demonstrated Firebird index-size restriction for the tested schema; incorrect SQL generation by the driver was not demonstrated. See issue #112.

For new databases using this specific combination, use the successfully tested 16384-byte page size. This is not a general minimum requirement for all Laravel or Firebird applications.

For the official firebirdsql/firebird Docker image, add these environment variables when creating the database:

These settings apply only when the image creates a new database. Changing the Compose environment or Laravel connection configuration does not change an existing database's page size. Laravel's connection charset setting controls the connection character set, not the database's default character set.

Verify the actual database path and page size with this read-only query:

Laravel connection configuration

Declare the connection within your config/database.php file by using firebird as the driver:

Migration support

This independent fork provides integration-tested schema and migration support beyond the upstream package's migration scope. The current 4.x branch covers core table/column lifecycles, constraints, introspection, comments, virtual computed columns and representative Laravel helpers. Support is limited to the operations and semantics documented in the current migration support reference; it is not a promise of full Laravel API parity.

At technical baseline 7a68ea3, the full local suite passed on Firebird 4 and 5, each with 646 tests / 4563 assertions. CI passed all 28 matrix jobs plus ci-success for the version matrix above. These are technical hardening results. The final RC1 release commit is 6eb93babee699c3b25dbc6481252d44d6277a971; subsequent published-artifact consumer validation passed Laravel 12/13 × Firebird 4/5 and OweFlow separately. See the RC1 evidence. The beta notes retain their historical scope.

Important boundaries include signed integer mappings without unsigned range semantics, JSON text storage, ENUM as VARCHAR+CHECK, restricted ALTER operations and no automatic migration transactions. TZ storage is native, with the tested client-transport limits described in the support reference. Empty BLOB fetches may be '' or null depending on PHP/PDO; the test permits both, while database NULL and a non-NULL zero-length BLOB remain distinct.

Application Unix timestamps beyond 2038

For long-lived application schemas, consider BIGINT for Unix-second columns that currently use integer() / unsignedInteger() (signed Firebird INTEGER), keeping their existing nullability. See the seven-column Laravel 13 / OweFlow recommendation. This is an application-schema choice, not a driver mapping change or a claim that unchanged Laravel standard migrations fail.

Parameters in raw SQL expressions

Firebird cannot infer a bound parameter's SQL type in some raw expressions during statement preparation. For example, this SELECT fails with SQLCODE -804:

Provide the intended type explicitly:

When the parameter should use an existing column's type, you can also use:

TYPE OF COLUMN requires the physical table/view name, not a query alias. Table prefixes are not automatically added inside raw SQL; include the actual physical name and quote identifiers appropriately.

Not all raw bindings need a cast. Direct comparisons such as whereRaw('"value" > ?', [10]) and other sufficiently typed SQL contexts work without one. Raw SQL and its type choices remain the caller's responsibility; the driver does not automatically infer types or rewrite raw expressions.

Insert while ignoring duplicate keys

insertOrIgnore($values) supports single rows and batches. It returns the number of rows inserted and ignores Firebird SQLCODE -803 (PRIMARY KEY / UNIQUE violations). Other errors propagate; a non-ignored error rolls back the statement's changes. Identity sequences may still advance for ignored or rolled-back inserts.

The handler also catches -803 raised by triggers, including constraints on other tables. Under NO WAIT, Firebird can report an uncommitted competing UNIQUE key as -803: the row may be ignored even if the competing transaction later rolls back. A WAIT timeout can likewise surface as -803 during a uniqueness check. The driver does not change transaction settings or retry these conflicts.

Single-row expressions use Laravel's normal expression handling. As with batch insert(), raw expressions in multi-row input are explicitly unsupported. insertOrIgnoreUsing() and insertOrIgnoreReturning() remain unsupported.

Credits

Original upstream attribution (retained):

Independent package development: MrSpockDe/laravel-firebird contributors.

License

Licensed under the MIT license.

The complete license terms are included in LICENSE. The original README declares MIT but supplies no dated copyright notice; none has been invented.


All versions of laravel-firebird with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/support Version ^12.17|^13.0
illuminate/container Version ^12.17|^13.0
illuminate/database Version ^12.17|^13.0
illuminate/events Version ^12.17|^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package mrspockde/laravel-firebird contains the following files

Loading the files please wait ...