Laracaché is an InterSystems Caché database driver package for Laravel. Laracaché is an extension of Illuminate/Database that uses the php-odbc extension to communicate with Caché. This package plays well with Eloquent.
PHP >= 8.2 and Laravel >= 11
composer require jeandormehl/laracache
For Laravel 9 require 2.2.1
Modify your .env
file to look similar to this.
DB_CONNECTION=isc
DB_WIN_DSN=
DB_UNIX_DRIVER=/usr/local/cache/2018/bin/libcacheodbcur64.so
DB_HOST=127.0.0.1
DB_PORT=1972
DB_DATABASE=LARAVEL
DB_USERNAME=_SYSTEM
DB_PASSWORD=SYS
Publish a configuration file by running the following Artisan command.
php artisan vendor:publish --tag=isc
Create this file /etc/odbc.ini
[ODBC Data Sources]
cache=cache
[cache]
Driver = /usr/local/cache/2018/bin/libcacheodbcur64.so
Description = InterSystems Cache ODBC Connection
Protocol = TCP
Query Timeout = 1
Static Cursors = 0
Authentication Method = 0
Install these extra packages and extract the Caché driver file.
ODBC-2018.1.7.721.0-lnxubuntux64.tar.gz
# Extra packages
apt update && apt install -y php8.4-odbc unixodbc libodbccr2 odbcinst
# Create this folder
mkdir -p /usr/local/cache/2018
# Extract the driver to the folder above
tar xvzf ODBC-2018.1.7.721.0-lnxubuntux64.tar.gz -C /usr/local/cache/2018
# Install Caché Driver
cd /usr/local/cache/2018 && ./ODBCinstall
odbcinst -i -s -f /etc/odbc.ini
# Binds
ln -s /usr/lib/x86_64-linux-gnu/libodbccr.so.2.0.0 /etc/libodbccr.so
You can run this project on VSCODE with Remote Container. Make sure you will use internal VSCODE terminal (inside running container).
composer install
composer test
composer test:coverage
The MIT License (MIT). Please see License File for more information.