Как я могу использовать и получить доступ к БД SQLite с помощью PHP и WAMP-сервера?

Я знаю, что PHP 5 уже поддерживает SQLite, но по какой-то причине я не могу заставить его работать.

я следовал инструкциям от SQLite учебник: начало работы. Я также убедился, что следующее не комментируется из php.ini:

extension=php_pdo_sqlite.dll 
extension=php_sqlite.dll.

но когда я открываю PHP-файл из localhost с помощью Firefox, я получаю эту ошибку:

неустранимая ошибка: класс 'SQLiteDatabase' не найден.

Я Windows, кстати, если эта информация имеет значение.

что может быть причиной этой проблемы?

3 ответов


Я думаю, что класс SQLiteDatabase С расширением sqlite, а pdo_sqlite. Таким образом, вы можете включить sqlite расширение или используйте PDO вместо:

<?php
$conn = new PDO('sqlite:c:/mydb.sq3');
$conn->exec('some sql query');

в Windows вам нужно иметь следующий набор в вашем ini:

extension=php_pdo.dll
extension=php_sqlite.dll

Я рекомендую вам прочитать на этой странице в руководстве.


класс SQLiteDatabase является объектом с SQLite в библиотека, поддержка которой была отброшена в PHP 5.4, но на различных системах и конфигурации могла быть отключена в более ранних версиях, так как эта библиотека долгое время отмечалась как будет устаревший.

библиотека php_sqlite.dll (Windows) или php_sqlite.so (Linux) больше не поддерживается в новых версиях PHP и был заменен на php_sqlite3.dll или php_sqlite3.so соответственно.

вы может:

  1. попробуйте найти php_sqlite.dll (php_sqlite.so) где-то в Интернете. Ссылки как этой или этой может быть полезным для вас. Однако вам придется тщательно сопоставить старый файл библиотеки SQLite с платформой вашего PHP (x64 или x86), сборки двигателя (VC6, VC9 или VC11), версия (5.x) и тип (TS на thread safe или NTS на non-thread safe). Это может быть трудно. задача.

  2. оставить php_sqlite.dll (SQLiteDatabase) позади и корабль в сторону нового php_sqlite3.dll (. Прогресс в большинстве случаев является лучшим из двух доступных вариантов.