Как включить sqlite3 для php?

Я пытаюсь установить sqlite3 для PHP в Ubuntu.

Я устанавливаю apt-get php5-sqlite3 и редактирует php.ini, чтобы включить расширение sqlite3.

Когда я запускаю phpinfo();, я получаю

SQLITE3
SQLite3 support  enabled  
sqlite3 library version  3.4.2  

как показано выше, sqlite3 включен. Тем не менее, я получаю "класс SQLite3 не найден", когда я использую

 new SQLite3("database");

Ответ 1

Изменить: этот ответ устарел, но его нельзя удалить, потому что он принят. Для правильного ответа см. Решение от Stacey Richards.

 sudo apt-get install php5-cli php5-dev make
 sudo apt-get install libsqlite3-0 libsqlite3-dev
 sudo apt-get install php5-sqlite3
 sudo apt-get remove php5-sqlite3
 cd ~
 wget http://pecl.php.net/get/sqlite3-0.6.tgz
 tar -zxf sqlite3-0.6.tgz
 cd sqlite3-0.6/
 sudo phpize
 sudo ./configure
 sudo make
 sudo make install
 sudo apache2ctl restart

Извлечен из формы ubuntu.

Ответ 2

Try:

apt-get install php5-sqlite

Это сработало для меня.

Ответ 3

Для PHP7 используйте

sudo apt-get install php7.0-sqlite3

и перезапустите Apache

sudo apache2ctl restart

Ответ 4

Принятый ответ не является полным без остальной инструкции (перефразированный ниже) из форума, связанного с:

cd /etc/php5/conf.d

cat > sqlite3.ini
# configuration for php SQLite3 module
extension=sqlite3.so
^D

sudo /etc/init.d/apache2 restart

Ответ 5

Драйвер SQLite3 PDO называется SQLite, а не SQLite3, поэтому вы можете:

new SQLite("database");

Для базы данных SQLite2:

new SQLite2("database");

Ответ 6

одну вещь, которую я хочу добавить, прежде чем пытаться установить

apt-get install php5-sqlite

или же

apt-get install php5-sqlite3 

Поиск данного пакета доступен или нет: -

 # apt-cache search 'php5'

После этого вы получите: -

php5-rrd - rrd module for PHP 5

php5-sasl - Cyrus SASL extension for PHP 5

php5-snmp - SNMP module for php5

**php5-sqlite - SQLite module for php5**

php5-svn - PHP Bindings for the Subversion Revision control system

php5-sybase - Sybase / MS SQL Server module for php5

Здесь вы получаете представление о том, поддерживает ли ваша версия или нет.. в моей системе я получаю php5-sqlite - модуль SQLite для php5, поэтому я предпочитаю устанавливать

**apt-get install php5-sqlite**

Ответ 7

sudo apt-get install php5-cli php5-dev make

sudo apt-get install libsqlite3-0 libsqlite3-dev

sudo apt-get install php5-sqlite3

sudo apt-get remove php5-sqlite3

cd ~

wget http://pecl.php.net/get/sqlite3-0.6.tgz

tar -zxf sqlite3-0.6.tgz

cd sqlite3-0.6/

sudo phpize

sudo ./configure

Это сработало для меня.

Ответ 8

попробуйте следующее:

sudo apt-get --purge remove php5*
sudo apt-get install php5 php5-sqlite php5-mysql
sudo apt-get install php-pear php-apc php5-curl
sudo apt-get autoremove
sudo apt-get install php5-sqlite
sudo apt-get install libapache2-mod-fastcgi php5-fpm php5

Ответ 9

В Centos 6.7 в моем случае отсутствовал файл библиотеки /usr/lib 64/php/modules/sqlite3.so.

yum install php-pdo 

vim /etc/php.d/sqlite3.ini
; Enable sqlite3 extension module
extension=sqlite3.so

sudo service httpd restart

Ответ 10

Используйте только:

sudo apt-get install php5-sqlite

и позже

sudo service apache2 restart

Ответ 11

Зависит от версии PHP. Для php7.0 работают следующие команды: sudo apt-get install php7.0-sqlite3, затем перезапустите сервер Apache: sudo service apache2 restart