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");

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 .


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.


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

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

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


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");

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**

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.


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

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

1

Hanya gunakan:

sudo apt-get install php5-sqlite

dan nanti

sudo service apache2 restart

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.


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


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


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 :)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.