PHP code example of er-dhruvmishra / laravel-sqlite-ffi
1. Go to this page and download the library: Download er-dhruvmishra/laravel-sqlite-ffi library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
er-dhruvmishra / laravel-sqlite-ffi example snippets
// config/database.php
'sqlite' => [
'driver' => 'sqlite',
'database' => database_path('database.sqlite'),
'prefix' => '',
'foreign_key_constraints' => true,
],
'sqlite' => [
'driver' => 'sqlite',
'database' => database_path('database.sqlite'),
'sqlite_backend' => 'ffi', // 'native', 'ffi', or 'cli'
],
'sqlite' => [
'driver' => 'sqlite',
'database' => database_path('database.sqlite'),
'sqlite_priority' => ['cli', 'ffi', 'native'], // try CLI first
],
use ErDhruvMishra\SqliteFFI\PdoFactory;
// In a service provider's register() method:
PdoFactory::setDefaultPriority(['ffi', 'cli', 'native']);
use ErDhruvMishra\SqliteFFI\PdoFactory;
echo PdoFactory::activeTier(); // 'native', 'ffi', 'cli', or 'none'
$tnt->loadConfig([
'driver' => 'mysql',
'host' => config('database.connections.mysql.host'),
'database' => config('database.connections.mysql.database'),
'username' => config('database.connections.mysql.username'),
'password' => config('database.connections.mysql.password'),
'storage' => storage_path('tnt_indices') . '/',
'engine' => \ErDhruvMishra\SqliteFFI\Compat\TntSearchEngine::class,
]);
'sqlite' => [
'driver' => 'sqlite',
'database' => database_path('database.sqlite'),
'prefix' => '',
'foreign_key_constraints' => true, // PRAGMA foreign_keys = ON
'journal_mode' => 'wal', // PRAGMA journal_mode = wal
'busy_timeout' => 5000, // PRAGMA busy_timeout (ms)
'sqlite_backend' => null, // Force: 'native', 'ffi', 'cli'
'sqlite_priority' => null, // Custom order: ['ffi', 'cli']
],
ini
; /etc/php/8.x/cli/conf.d/20-ffi.ini
extension=ffi.so
ffi.enable=true
bash
# Check what's available
php -r "
echo 'pdo_sqlite: ' . (extension_loaded('pdo_sqlite') ? 'YES' : 'no') . PHP_EOL;
echo 'FFI: ' . (extension_loaded('FFI') ? 'YES' : 'no') . PHP_EOL;
echo 'ffi.enable: ' . ini_get('ffi.enable') . PHP_EOL;
echo 'sqlite3 CLI: '; exec('which sqlite3 2>/dev/null', \$o, \$c); echo \$c === 0 ? 'YES' : 'no'; echo PHP_EOL;
"