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.