web-dev-qa-db-fra.com

comment activer sqlite3 pour php?

J'essaie d'installer sqlite3 pour PHP dans Ubuntu.

J'ai installé apt-get php5-sqlite3 et édité php.ini pour inclure l'extension sqlite3.

Quand je lance phpinfo(); je reçois

SQLITE3
SQLite3 support  enabled  
sqlite3 library version  3.4.2  

comme indiqué ci-dessus, sqlite3 est activé. Cependant, j'obtiens "Classe SQLite3 non trouvée" quand j'utilise

 new SQLite3("database");
84
Moon

Edit: Cette réponse est obsolète, mais ne peut pas être supprimée car elle est acceptée. Veuillez consulter la solution de Stacey Richards pour la réponse correcte.

 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

Arraché de la forme ubuntu

33
miccet

Essayer:

apt-get install php5-sqlite

Cela a fonctionné pour moi.

233
Stacey Richards

Pour PHP7, utilisez 

Sudo apt-get install php7.0-sqlite3

et redémarrez Apache

Sudo Apache2ctl restart
26

La réponse acceptée n'est pas complète sans le reste des instructions (paraphrasées ci-dessous) du fil de discussion forum lié à:

cd /etc/php5/conf.d

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

Sudo /etc/init.d/Apache2 restart
14
btk

Le pilote PDO SQLite3 est nommé SQLite, et non SQLite3. Vous pouvez donc effectuer les opérations suivantes:

new SQLite("database");

Pour une base de données SQLite2:

new SQLite2("database");
4
Tom Haigh

une chose que je veux ajouter, avant d'essayer d'installer 

apt-get install php5-sqlite

ou 

apt-get install php5-sqlite3 

rechercher le paquet donné est disponible ou non: - 

 # apt-cache search 'php5'

Après cela, vous obtenez: -

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

Ici vous avez une idée de si votre version supporte ou non .. Dans mon système, je reçois php5-sqlite - module SQLite pour php5 Je préfère donc installer 

**apt-get install php5-sqlite**
3
sanjeev
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

Cela a fonctionné pour moi.

2
Bitcoin Mining

Seule utilisation:

Sudo apt-get install php5-sqlite

et ensuite

Sudo service Apache2 restart
1
C47

Dans Centos 6.7, dans mon cas, le fichier de bibliothèque /usr/lib64/php/modules/sqlite3.so était manquant.

yum install php-pdo 

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

Sudo service httpd restart
1
satishwin

essaye ça:

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
1
Hazem Hagrass

Pour les distributions Debian. Rien ne fonctionnait jusqu'à ce que j'ajoute les dépôts principaux Debian sur les sources apt (je ne sais pas comment ils ont été supprimés): Sudo vi /etc/apt/sources.list

et ajouté

deb  http://deb.debian.org/debian  stretch main
deb-src  http://deb.debian.org/debian  stretch main

après cela Sudo apt-get update (vous pouvez aussi mettre à niveau) et enfin Sudo apt-get install php-sqlite3

0
vivoconunxino

Cela va se noyer ici, mais j'ai résolu mes problèmes avec ceci:

Pour autant que je sache, il existe un fichier défectueux dans /usr/local/lib appelé libsqlite3.so.0 qui pointe vers libsqlite3.so.0.8.6. Autant que je sache, il a été installé via les paquets php7.3- *.

J'ai renommé le fichier en cas de besoin. Avec la commande:

cd /usr/local/libSudo mv libsqlite3.so.0 ./libsqlite3.so.0.back

Mais vous pouvez aussi simplement le supprimer: rm libsqlite3.so.0

Le fil qui me mène à la réponse: link

Cela a résolu mes problèmes et j'espère qu'ils résoudront également les vôtres :)

0
IncrediblePony

Dépend de la version de PHP. Pour php7.0, les commandes suivantes fonctionnent:
Sudo apt-get install php7.0-sqlite3
puis redémarrez le serveur Apache:
Sudo service Apache2 restart

0
doru

Pour Ubuntu 18.04 et PHP 7.2:

Sudo apt install php-sqlite3

0
Jarek Jakubowski