Trước tiên, tôi muốn thông báo về vụ việc để tránh sự hiểu lầm.Làm thế nào để tải phần mở rộng sqlite trong PDO?
Với tiện ích mở rộng sqlite, tôi đề cập đến phần mở rộng của Sqlite như FTS chứ không phải phần mở rộng sqlite của PHP.
Tôi đã sử dụng PDO Sqlite trong ứng dụng của mình, nó không thể thay đổi được.
Như tôi thấy here, mở rộng Sqlite có thể được nạp như truy vấn xem dưới đây:
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');
Lưu ý: myfunction là phương pháp myextension
Nhưng khi tôi thử nghiệm với truy vấn này từ PDO, nó trả về thông báo "không được ủy quyền".
Đối với chỉ mục đích thử nghiệm, tôi đã cố gắng PHP's Sqlite3 extension để tải phần mở rộng bằng cách sử dụng mã bên dưới:
$db = new SQLite3('qwer.db');
$db->loadExtension('xyz.so');
Nó hoạt động
Như tôi biết rằng PDO Sqlite hasnot một phương pháp như loadExtension để tải các phần mở rộng
Bất kỳ ý tưởng nào tôi có thể xử lý việc này?
Bạn nên thêm mã của bạn như thế nào bạn kết nối với cơ sở dữ liệu SQLite và cho thấy làm thế nào bạn bắn 'cái CHỌN load' truy vấn. – hakre
Lỗi xảy ra ở đâu? Khi tải phần mở rộng hoặc khi gọi 'myfunction'? –
Khi tải tiện ích mở rộng – WebolizeR