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.