2009-06-04 11 views
78

Próbuję zainstalować sqlite3 dla PHP w Ubuntu.jak włączyć sqlite3 dla php?

Instaluję apt-get php5-sqlite3 i edytuję php.ini, aby dołączyć rozszerzenie sqlite3.

Kiedy biegnę phpinfo(); uzyskać

SQLITE3 
SQLite3 support enabled 
sqlite3 library version 3.4.2 

jak wykazano powyżej, sqlite3 jest włączony. Jednak, mam „Klasa SQLite3 not found” podczas korzystania

new SQLite3("database"); 

Odpowiedz

31

Edycja: Ta odpowiedź jest przestarzała, ale nie może być usunięty, ponieważ jest akceptowana. Proszę zobaczyć rozwiązanie Stacey Richards dla poprawnej odpowiedzi.

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 

Ripped od ubuntu form.

+3

The 2nd do ostatniego polecenia powinno być 'sudo checkinstall' (po uruchomieniu' sudo apt-get install checkinstall'. Dlaczego warto korzystać z systemu operacyjnego z menedżera pakietów, jeśli nie zamierzasz go używać? –

+22

to teraz nieaktualne porady, np. http://forum.linode.com/viewtopic.php?p=39974 – momeara

+1

Proszę usunąć tę odpowiedź! Istnieje ** sposób ** lepsza odpowiedź poniżej, a głosy z powrotem ją mocno! – charneykaye

4

Kierowca SQLite3 PDO jest nazwany SQLite, nie SQLite3, więc można zrobić:

new SQLite("database"); 

Na bazie SQLite2:

new SQLite2("database"); 
225

Spróbuj:

apt-get install php5-sqlite 

Zadziałało dla mnie.

+23

pakiet php5-sqlite3 już nie istnieje. – momeara

+2

Zdecydowanie najłatwiejsze rozwiązanie. – gustafbstrom

+0

Dobrze, uratowałeś mi życie! – temple

14

Zaakceptowanych odpowiedź nie jest kompletna bez dalszej części instrukcji (sparafrazowanych poniżej) z forum thread powiązany:

cd /etc/php5/conf.d 

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

sudo /etc/init.d/apache2 restart 
+0

Myślałem, że musiałeś także zmodyfikować plik php.conf? – marciokoko

+1

Przynajmniej na Ubuntu 14.04, ten krok nie jest potrzebny, ponieważ istnieje już 'sqlite3.ini' jako'/etc/php5/mods-available/sqlite3.ini' – Hibou57

1

spróbuj tego:

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

Domyślam się, że OP musi znać niektóre zmiany w konfiguracji. Samo zainstalowanie wymaganego oprogramowania nie odpowiada na pytanie. – mtk

+0

Ostrożnie za pomocą tych poleceń! Chociaż może to faktycznie zadziałać, warto poinformować, że ** to usunie i usunie ** wszystkie pakiety zaczynające się od "php5". Innymi słowy, usunie zarówno pliki podstawowe, jak i pliki konfiguracyjne. – adelriosantiago

+0

to działało dla mnie !!! Sprzątanie, a następnie ponowne instalowanie tych wszystkich rzeczy było dobre ... z wyjątkiem ostatniej instalacji polecenia php-sqlite ..... to samo dzieje się w drugim poleceniu? Być może jest to potrzebne w niektórych przypadkach, ale nic mi to nie dało. – rikkitikkitumbo

3
one thing I want to add , before you try to install 
apt-get install php5-sqlite 

or 

apt-get install php5-sqlite3 

search the given package is available or not :- 

# apt-cache search 'php5' 

After that you get :- 

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 


Here you get an idea about whether your version support or not .. 
in my system I get **php5-sqlite - SQLite module for php5** 
so I prefer to install 

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

który pracował dla mnie.

14

Dla PHP7 użyć

sudo apt-get install php7.0-sqlite3 

i zrestartować Apache

sudo apache2ctl restart 
+0

To jest poprawna odpowiedź. – Ikbel

1

W Centosu 6,7, w moim przypadku plik biblioteki /usr/lib64/php/modules/sqlite3.so brakowało.

yum install php-pdo 

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

sudo service httpd restart