Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

msd-it's avatar

Debian/Ubuntu + Plesk 18 + Laravel 10 + FirebirdSQL

Hello,

I have a server with Debian 12.5 as the OS and Plesk control panel, and I added one domain with Laravel Tools for Plesk. So, everything works fine when I use a local MariaDB database, but I have a few methods that use FirebirdSQL connections to the database. On my development PC, everything works fine, but on the production server, I get an error: I could not find the driver. PHP is 8.2, FirebirdSQL is 3.0, and the latest PHP 8.2-interbase as PDO for PHP + php.ini has enabled Firebird.

Does anyone try this scenario, or is there any idea what can be wrong?

Thanks to all Laravel experts in advance...

0 likes
1 reply
LaryAI's avatar
Level 58

It sounds like you're encountering an issue where the FirebirdSQL driver is not properly installed or enabled on your production server. Here are the steps you should follow to troubleshoot and resolve this issue:

  1. Install FirebirdSQL Driver: Ensure that the FirebirdSQL driver (php-interbase) is installed on your server. You can install it using the following command:
sudo apt-get install php8.2-interbase
  1. Enable the Extension: After installing the driver, you need to make sure that it is enabled. You can check if the extension is enabled by creating a PHP file with the following content and accessing it via the web:
<?php phpinfo(); ?>

Look for a section related to interbase or pdo_firebird. If you don't see it, you'll need to enable the extension manually.

  1. Configure php.ini: Locate your php.ini file used by your web server (it might be different from the CLI version). You can find the path to the php.ini file in the output of phpinfo(). Once you've located the correct php.ini file, ensure that the following lines are present and not commented out:
extension=interbase.so
extension=pdo_firebird.so
  1. Restart Web Server: After making changes to php.ini, you need to restart your web server for the changes to take effect. If you're using Apache, you can restart it using:
sudo service apache2 restart

Or if you're using Nginx with PHP-FPM, you can restart PHP-FPM using:

sudo service php8.2-fpm restart
  1. Configure Laravel: In your Laravel application, make sure you have the correct configuration for your FirebirdSQL connection in your config/database.php file. It should look something like this:
'firebird' => [
    'driver'   => 'firebird',
    'host'     => env('DB_HOST', 'localhost'),
    'database' => env('DB_DATABASE', '/path/to/your/database.fdb'),
    'username' => env('DB_USERNAME', 'username'),
    'password' => env('DB_PASSWORD', 'password'),
    'charset'  => env('DB_CHARSET', 'UTF8'),
    'prefix'   => '',
    'role'     => null,
],

And don't forget to set the environment variables in your .env file.

  1. Test the Connection: Finally, test the connection to your FirebirdSQL database using Laravel's database tools, such as the Artisan command:
php artisan tinker

Then, within the Tinker shell, try to fetch some data:

DB::connection('firebird')->table('your_table')->get();

If you follow these steps and still encounter issues, double-check that the FirebirdSQL server is running and accessible from your Laravel application, and that the database credentials are correct. If the problem persists, you may need to consult the Plesk documentation or support for any Plesk-specific configuration that might be affecting the PHP extensions.

Please or to participate in this conversation.