php için sqlite3 nasıl etkinleştirilir?


92

Ubuntu'da PHP için sqlite3 kurmaya çalışıyorum.

Sqlite3 uzantısını dahil etmek için kurdum apt-get php5-sqlite3ve düzenledim php.ini.

Koştuğumda phpinfo();alırım

SQLITE3
SQLite3 support  enabled  
sqlite3 library version  3.4.2  

yukarıda gösterildiği gibi sqlite3etkindir. Ancak, kullandığımda "Sınıf SQLite3 bulunamadı" mesajı alıyorum

 new SQLite3("database");

Yanıtlar:


38

Düzenleme: Bu cevap eski, ancak kabul edildiği için kaldırılamaz. Doğru yanıt için lütfen Stacey Richards'ın çözümüne bakın.

 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

Yırtık ubuntu formu .


3
Sondan ikinci komut şu olmalıdır sudo checkinstall(çalıştırdıktan sonra sudo apt-get install checkinstall. Kullanmayacaksanız neden paket yöneticili bir işletim sistemi kullanıyorsunuz?
Brendan Long

25
bu artık eskimiş bir tavsiye. eg forum.linode.com/viewtopic.php?p=39974
momeara

1
Lütfen bu cevabı silin! Bir Orada yolu aşağıda cevap ve oy şiddetle yedeklemek iyi!
Charney Kaye

Sonraki en iyi şeyi, çok görünür bir şekilde 'bunu atla' şeklinde düzenleyerek yaptım.
kiswa

4
Öyle apt-get install php5-sqlite2015 tarihi itibariyle bugün
Deproblemify

236

Deneyin:

apt-get install php5-sqlite

Bu benim için çalıştı.


28
php5-sqlite3 paketi artık mevcut değil.
momeara

2
Kesinlikle en kolay çözüm.
gustafbstrom

5
Veya, CentOS durumundasudo yum install php-sqlite3 -y
dinamitere çıktı

5
Bu ayrıca /etc/php5/apache2/conf.d dizinine bir PHP yapılandırma dosyası ekledi; hatta Apache'yi yeniden başlattı, ancak bazı nedenlerden dolayı değişikliğin etkili olması için yeniden başlatmam gerekti.
EK0

12
Veya Ubuntu 16.0.4 Xenial durumunda,sudo apt install php-sqlite3
Ejaz

34

PHP7 için şunu kullanın

sudo apt-get install php7.0-sqlite3

ve Apache'yi yeniden başlatın

sudo apache2ctl restart

6
php 7.2 için sudo apt-get install php7.2-sqlite
Salem

15

Kabul edilen cevap, aşağıdaki bağlantılarla bağlantılı forum başlığındaki talimatların geri kalanı (aşağıda açıklanmıştır) olmadan tamamlanmış sayılmaz :

cd /etc/php5/conf.d

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

sudo /etc/init.d/apache2 restart

Php.conf dosyasını da değiştirmeniz gerektiğini düşündüm.
marciokoko

1
Ubuntu 14.04 üzerinde En azından bu adımı zaten bulunduğundan, gerekli değildir sqlite3.iniolarak/etc/php5/mods-available/sqlite3.ini
Hibou57

10

Ubuntu 18.04 ve PHP 7.2 için:

sudo apt install php-sqlite3


Hatasız çalıştırılması apt-get updateiçin yukarıdaki komuttan önce yürütmeniz gerekir .
Valentine Shi

4

SQLite3 PDO sürücüsü SQLite3 değil, SQLite olarak adlandırılmıştır, dolayısıyla şunları yapabilirsiniz:

new SQLite("database");

SQLite2 veritabanı için:

new SQLite2("database");

3

yüklemeyi denemeden önce eklemek istediğim bir şey

apt-get install php5-sqlite

veya

apt-get install php5-sqlite3 

verilen paketin mevcut olup olmadığını araştırın: -

 # apt-cache search 'php5'

Bundan sonra şunları elde edersiniz: -

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

Burada sürümünüzün desteklenip desteklenmediği hakkında bir fikir edinebilirsiniz .. benim sistemimde php5-sqlite - php5 için SQLite modülü bu yüzden yüklemeyi tercih ediyorum

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

Bu benim için çalıştı.


1

bunu dene:

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
Sanırım OP'nin bazı yapılandırma değişikliklerini bilmesi gerekiyor. Sadece gerekli yazılımı yüklemek soruyu yanıtlamaz.
mtk

Bu komutlara dikkat edin! Bu gerçekten işe yarayabilirken, bunun "php5" ile başlayan tüm paketleri kaldıracağını ve temizleyeceğini bildirmek faydalı olacaktır . Başka bir deyişle, hem çekirdek dosyalarını hem de yapılandırma dosyalarını kaldıracaktır.
adelriosantiago

bu benim için çalıştı !!! Tüm bunları temizlemek ve sonra yeniden kurmak iyiydi .... ikinciden sonuncuya kadar php-sqlite yükleme komutu dışında ..... 2. komutta olanla aynı şey mi? Belki bazı durumlarda gerekli, ancak benim için hiçbir şey yapmıyor gibi görünüyor
rikkitikkitumbo

1

Centos 6.7'de benim durumumda /usr/lib64/php/modules/sqlite3.so kütüphane dosyası eksikti.

yum install php-pdo 

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

sudo service httpd restart

1

Sadece kullan:

sudo apt-get install php5-sqlite

ve sonra

sudo service apache2 restart

1

Php-7.2, php-7.3 ve php-7.4 için Debian / Ubuntu yolu (ör. [234]Parça)

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

Linux sürüm 1 için Windows Alt Sisteminde (WSL1) SQlite için (dosya-) kilitleme sisteminin bozuk olduğuna dikkat edin.


0

PHP sürümüne bağlıdır. Php7.0 için aşağıdaki komutlar çalışır:
sudo apt-get install php7.0-sqlite3
ardından Apache sunucusunu yeniden başlatın:
sudo service apache2 restart


0

Debian dağıtımları için. Debian ana depolarını apt kaynaklarına ekleyene kadar hiçbir şey işe yaramadı (nasıl kaldırıldığını bilmiyorum): sudo vi /etc/apt/sources.list

ve eklendi

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

bundan sonra sudo apt-get update(siz de yükseltebilirsiniz) ve sonundasudo apt-get install php-sqlite3


0

Bu burada boğulacak, ancak bununla sorunlarımı düzelttim:

Bildiğim kadarıyla bulduk gibi, bir hatalı dosya varsa /usr/local/libdenilen libsqlite3.so.0hangi noktalardalibsqlite3.so.0.8.6 . Anladığım kadarıyla php7.3- * paketleri aracılığıyla kuruldu.

Bir şey için gerekli olması durumunda dosyayı yeniden adlandırdım. Komut ile:

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

Ancak bunu silebilirsiniz: rm libsqlite3.so.0

Beni cevaba yönlendiren konu: bağlantı

Bu benim sorunlarımı çözdü ve umarım sizinkini de çözerler :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.