Как я могу использовать и получить доступ к БД 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
соответственно.
вы может:
попробуйте найти
php_sqlite.dll
(php_sqlite.so
) где-то в Интернете. Ссылки как этой или этой может быть полезным для вас. Однако вам придется тщательно сопоставить старый файл библиотеки SQLite с платформой вашего PHP (x64
илиx86
), сборки двигателя (VC6
,VC9
илиVC11
), версия (5.x
) и тип (TS
на thread safe илиNTS
на non-thread safe). Это может быть трудно. задача.оставить
php_sqlite.dll
(SQLiteDatabase
) позади и корабль в сторону новогоphp_sqlite3.dll
(. Прогресс в большинстве случаев является лучшим из двух доступных вариантов.