bagaimana cara mengaktifkan sqlite3 untuk php?

92

Saya mencoba menginstal sqlite3 untuk PHP di Ubuntu.

Saya menginstal apt-get php5-sqlite3dan mengedit php.iniuntuk menyertakan ekstensi sqlite3.

Saat aku lari, phpinfo();aku mengerti

SQLITE3
SQLite3 support  enabled  
sqlite3 library version  3.4.2  

seperti yang ditunjukkan di atas, sqlite3diaktifkan. Namun, saya mendapatkan "Kelas SQLite3 tidak ditemukan" saat saya gunakan

 new SQLite3("database");
Bulan
sumber

Jawaban:

38

Edit: Jawaban ini sudah usang, tetapi tidak dapat dihapus karena diterima. Silakan lihat solusi dari Stacey Richards untuk jawaban yang benar.

 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

Diambil dari bentuk ubuntu .

miccet
sumber
3
Perintah ke-2 hingga terakhir harus sudo checkinstall(setelah berjalan sudo apt-get install checkinstall. Mengapa menggunakan OS dengan manajer paket jika Anda tidak akan menggunakannya?
Brendan Long
25
ini sekarang adalah nasihat kuno. mis. forum.linode.com/viewtopic.php?p=39974
momeara
1
Harap hapus jawaban ini! Ada jawaban yang jauh lebih baik di bawah ini, dan suara mendukungnya dengan kuat!
Charney Kaye
Saya melakukan hal terbaik berikutnya dengan mengedit dalam semacam 'lewati' yang sangat terlihat.
Kiswa
4
Hari apt-get install php5-sqliteini pada 2015
Deproblemify
236

Mencoba:

apt-get install php5-sqlite

Itu berhasil untuk saya.

Stacey Richards
sumber
28
paket php5-sqlite3 tidak ada lagi.
momeara
2
Jelas merupakan solusi termudah.
mulai
5
Atau, dalam kasus CentOS,sudo yum install php-sqlite3 -y
dynamitereed
5
Ini juga menambahkan file konfigurasi PHP di /etc/php5/apache2/conf.d; itu bahkan me-restart Apache, meskipun untuk beberapa alasan saya harus me-restart lagi agar perubahan diterapkan.
EK0
12
Atau, dalam kasus Ubuntu 16.0.4 Xenial,sudo apt install php-sqlite3
Ejaz
34

Untuk PHP7, gunakan

sudo apt-get install php7.0-sqlite3

dan mulai ulang Apache

sudo apache2ctl restart
theczechsensation
sumber
6
untuk php 7.2 sudo apt-get install php7.2-sqlite
Salem
15

Jawaban yang diterima tidak lengkap tanpa sisa instruksi (diparafrasekan di bawah) dari utas forum yang ditautkan ke:

cd /etc/php5/conf.d

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

sudo /etc/init.d/apache2 restart
btk
sumber
Saya pikir Anda juga harus memodifikasi file php.conf?
marciokoko
1
Setidaknya pada Ubuntu 14.04, langkah ini tidak diperlukan, karena ada sudah merupakan sqlite3.inisebagai/etc/php5/mods-available/sqlite3.ini
Hibou57
10

Untuk Ubuntu 18.04 dan PHP 7.2:

sudo apt install php-sqlite3

Jarek Jakubowski
sumber
Anda perlu mengeksekusi apt-get updatesebelum perintah di atas untuk membuatnya dieksekusi tanpa kesalahan.
Valentine Shi
4

Pengandar SQLite3 PDO bernama SQLite, bukan SQLite3, jadi Anda dapat melakukan:

new SQLite("database");

Untuk database SQLite2:

new SQLite2("database");
Tom Haigh
sumber
3

satu hal yang ingin saya tambahkan, sebelum Anda mencoba menginstal

apt-get install php5-sqlite

atau

apt-get install php5-sqlite3 

cari paket yang diberikan tersedia atau tidak: -

 # apt-cache search 'php5'

Setelah itu Anda mendapatkan: -

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

Di sini Anda mendapatkan ide tentang apakah versi Anda mendukung atau tidak .. di sistem saya, saya mendapatkan php5-sqlite - modul SQLite untuk php5 jadi saya lebih suka menginstal

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

Itu berhasil untuk saya.

Penambangan Bitcoin
sumber
1

coba ini:

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
Hazem Hagrass
sumber
3
Saya kira OP perlu mengetahui beberapa perubahan konfigurasi. Hanya menginstal perangkat lunak yang diperlukan tidak menjawab pertanyaan itu.
mtk
Hati-hati dengan perintah ini! Meskipun ini benar-benar bisa berhasil, akan berguna untuk menginformasikan bahwa ini akan menghapus dan membersihkan semua paket yang dimulai dengan "php5". Dengan kata lain, ini akan menghapus file inti dan file konfigurasi.
adelriosantiago
ini berhasil untuk saya !!! Pembersihan dan kemudian menginstal ulang semua hal ini bagus .... kecuali untuk perintah kedua hingga terakhir instal php-sqlite ..... itu hal yang sama yang terjadi pada perintah ke-2? Mungkin diperlukan dalam kasus tertentu, tetapi sepertinya tidak melakukan apa-apa untuk saya
rikkitikkitumbo
1

Di Centos 6.7, dalam kasus saya, file perpustakaan /usr/lib64/php/modules/sqlite3.so hilang.

yum install php-pdo 

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

sudo service httpd restart
satishwin
sumber
1

Hanya gunakan:

sudo apt-get install php5-sqlite

dan nanti

sudo service apache2 restart
C47
sumber
1

Cara Debian / Ubuntu untuk php-7.2, php-7.3 & php-7.4 (misalnya [234]bagian)

sudo apt install php7.[234]-sqlite
sudo phpenmod sqlite3

Pastikan untuk mencatat bahwa pada Subsistem Windows untuk Linux versi 1 (WSL1), sistem penguncian (file-) untuk SQlite rusak.

Henk Poley
sumber
0

Tergantung pada versi PHP. Untuk php7.0 perintah berikut berfungsi:
sudo apt-get install php7.0-sqlite3
kemudian restart server Apache:
sudo service apache2 restart

doru
sumber
0

Untuk distribusi Debian. Tidak ada yang berhasil sampai saya menambahkan repositori utama debian pada sumber apt (saya tidak tahu bagaimana mereka dihapus): sudo vi /etc/apt/sources.list

dan ditambahkan

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

setelah itu sudo apt-get update(Anda juga dapat meningkatkan) dan terakhirsudo apt-get install php-sqlite3

javier_domenech
sumber
0

Ini akan tenggelam di sini, tetapi saya memperbaiki masalah saya dengan ini:

Sejauh yang saya temukan, ada file yang salah di /usr/local/libpanggil libsqlite3.so.0yang menunjuk kelibsqlite3.so.0.8.6 . Ini telah diinstal melalui paket php7.3- * sejauh yang saya tahu.

Saya mengganti nama file jika diperlukan untuk sesuatu. Dengan perintah:

cd /usr/local/lib sudo mv libsqlite3.so.0 ./libsqlite3.so.0.back

Tapi Anda juga bisa menghapusnya: rm libsqlite3.so.0

Utas yang mengarahkan saya ke jawabannya: tautan

Ini menyelesaikan masalah saya, dan saya harap mereka menyelesaikan masalah Anda juga :)

IncrediblePony
sumber