Во-первых, я хочу сообщить о деле, чтобы избежать недоразумений.
Под расширением sqlite я упоминаю расширение Sqlite, такое как FTS, а не расширение sqlite в PHP.
Я использовал PDOSqlite в моем приложении, его нельзя изменить.
Как я видел здесь , расширения Sqlite можно загрузить, как показано ниже:
SELECT load_extension('xyz.so');
$db = new PDO ( 'sqlite:qwert.db' );
$db->query("SELECT load_extension('myextension.so');");
$db->query("SELECT myfunction(name) FROM table");
$rows = $db->fetchAll(PDO::FETCH_CLASS, 'stdClass');
Примечание: myfunction - это метод myextension
Но когда я тестирую этот запрос из PDO, он возвращает сообщение " не авторизовано ".
Только для целей тестирования,Я попытался расширение PHP Sqlite3 , чтобы загрузить расширение, используя следующий код:
$db = new SQLite3('qwer.db');
$db->loadExtension('xyz.so');
Это работает
Поскольку я знаю, что в PDO Sqlite нет такого метода, как loadExtension длязагрузка расширений
Есть идеи, как с этим справиться?