Во-первых, я хочу проинформировать о случае, чтобы избежать недоразумений.
Под расширением sqlite я упоминаю расширение Sqlite, такое как FTS, а не расширение sqlite PHP.
Я использую PDO Sqlite в своем приложении, его нельзя изменить.
Как я видел здесь , расширения 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, для загрузки extension
Есть идеи, как с этим справиться?