Как настроить SQLite3 для PHP 5.6.14 на Apache 2.4 (Windows 7)?

Я работаю в Windows 7, использую PHP версии 5.6.14 на Apache 2.4 и пытаюсь получить доступ к базе данных SQLite3.

Я получаю ....

Неустранимая ошибка: класс SQLite3 не найден

Вот вам простой php код...

<?php
  $db = new SQLite3('phpdb');

  if ($db) {
    $db->query("CREATE TABLE dogbreeds (Name VARCHAR(255), MaxAge INT);");
    $db->query("INSERT INTO dogbreeds VALUES ('Doberman', 15)");
    $result = $db->query("SELECT Name FROM dogbreeds");
    var_dump($result->fetchArray(SQLITE3_ASSOC));
  } else {
    print "Connection to database failed!\n";
  }
?>

Я просто ищу информацию об этом и основываясь на этом, на данный момент у меня есть эта конфигурация в моем файле php.ini...

extension=php_pdo_sqlite.dll
extension=php_sqlite3.dll
sqlite3.extension_dir = "D:\Cesare\Lavoro\Utili\Php\5-6-14\ext"

Какие-либо предложения? Заранее большое спасибо ....

Чезаре


person Cesare    schedule 26.11.2015    source источник
comment
Указывает ли вывод <?php phpinfo(); на пустой веб-странице, что SQLite3 включен и работает правильно?   -  person Calimero    schedule 26.11.2015
comment
Я вижу, что поддержка PDO - драйверы PDO (PDO) и драйвер PDO для SQLite 3.x - библиотека SQLite (pdo_sqlite) включены, но не более того ..... Спасибо!   -  person Cesare    schedule 26.11.2015
comment
PDO_SQLite3 на самом деле является другим расширением (это драйвер PDO), вы можете либо реорганизовать свой код, чтобы вместо этого использовать PDO, либо проверить наличие php_sqlite3.dll в каталоге расширений php. Вы также можете перепроверить, что php.ini, который вы искали, является правильным (phpinfo(); тоже может помочь)   -  person Calimero    schedule 26.11.2015
comment
Я также включил PDO_SQLite3 как последнюю попытку... :-). Я только что проверил наличие php_sqlite3.dll в каталоге расширений php, и php.in — правильный. Считаете ли вы, что моя включенная конфигурация — это все, что мне нужно включить, или есть другие?   -  person Cesare    schedule 26.11.2015
comment
Что ж, если все в порядке, вы должны увидеть раздел SQLite3 на странице phpinfo(), и вы не получите сообщение об ошибке, о котором сообщали. Если вы недавно редактировали файлы конфигурации php, вы можете перезапустить веб-сервер и снова проверить страницу phpinfo().   -  person Calimero    schedule 26.11.2015
comment
@Calimero, начиная с вашего предложения проверить правильный php.ini, я проверил строки о включении расширений .... Я пытался отменить их и переписать, и теперь все работает нормально .... Тайна ! теперь проблема РЕШЕНА, и мои настройки php.ini были правильными. Благодаря вашим предложениям, которые заставили меня попытаться что-то изменить   -  person Cesare    schedule 26.11.2015
comment
рад, что был полезен :)   -  person Calimero    schedule 26.11.2015


Ответы (5)


Включите расширение php, удалив ";" перед «;extension=php_sqlite3.dll» в php.ini. Можете ли вы также вручную проверить, есть ли расширения в пути?

`extension=php_pdo_sqlite.dll` AND `extension=php_sqlite3.dll`. 

Попробуй это

$db = sqlite_open("/absolute/path/my_sqlite.db");

or

 $db = new SQLiteDatabase('filename')) 

http://php.net/manual/en/book.sqlite.php

person Gary    schedule 26.11.2015

Я столкнулся с той же проблемой, я решил ее, изменив «extension_dir», используя абсолютный путь

extension_dir = "C:/php/php7.0/ext"

другие настройки

extension=php_pdo_sqlite.dll
extension=php_sqlite3.dll
sqlite3.extension_dir = "C:/php/php7.0/ext"
person job wang    schedule 06.05.2016

Я столкнулся с той же проблемой: - Я занимаюсь LinkedIn Learning for SQL Essentials.

-Моя ОС Windows Server 2012 R2

-Я скачал xampp с этого веб-сайта https://bw.org/ldcsql/, предоставленного инструктором. Я специально загрузил версию xampp на этом веб-сайте, хотя есть более новая версия (я удалил более новую версию и установил ее с веб-сайта).

-Установлен sqlite из https://www.sqlite.org/download.html (скачал sqlite -dll-win64-x64-3240000.zip для моего компьютера и «sqlite-tools-win32-86-3240000.zip»). Я разархивировал их и скопировал DLL и def (из dll 64) в папку system32, а также приложение sqlite3 (из sqlite-tools) в system32. Справочный сайт на всякий случай https://mislav.net/rails/install-sqlite3/

Примечание: когда я говорю «установить», это означает, что я вставил файлы в system32, нет установки мастера или чего-то еще.

-В C:\xampp\php я искал php.ini, который имеет тип «Настройки конфигурации», НЕ является php.ini-производством и php.ini-разработкой. Внутри они должны быть раскомментированы: extension=pdo_mysql, extension=pdo_sqlite и extension=sqlite3.

-Также в C:\xampp\php\ext проверьте наличие php_pdo_mysql.dll, php_pdo_sqlite.dll и php_pdo_sqlite3.dll

И после всего, что это сработало

person Renato Espinoza    schedule 11.09.2018

Если вы используете XAMPP, нажмите кнопку «config», выберите PHP (php.ini), затем выполните поиск «sqlite3», раскомментируйте расширение = sqlite3, например, extension = sqlite3, затем найдите [sqlite3] и напишите путь, где находится ваш файл php и sqlite. база данных находится, например, [sqlite3] sqlite3.extension_dir ="D:\xampp\htdocs", затем введите localhost/yourphpfile.php в своем браузере, и вы увидите результаты запроса.

person Wise_Guy    schedule 19.10.2018

System xuname: Void 4.19.118_1 armv7l Неизвестный обновленный пакет rF: php-7.4.5_1, php-sqlite-7.4.5_1 Фактическое поведение Я пытаюсь заставить расширение PHP SQLite3 работать на моем Raspberry PI. Я установил вышеуказанные пакеты и включил расширение в /etc/php/php.ini, раскомментировав ;extension=sqlite3.

Выполнение php -m не отображает sqlite как модуль PHP. Выполнение php -i не упоминает поддержку SQLite3.

Ожидаемое поведение SQLite3 должен работать после установки php-sqlite-7.4.5_1 и включения расширения в /etc/php/php.ini.

Шаги для воспроизведения поведения Установите указанные выше пакеты, включите расширение SQLite3 и запустите php -r 'new SQLite3(db);':

person Nicholas Alaeddin    schedule 28.11.2020