Próbuję zainstalować sqlite3 dla PHP w Ubuntu.
Instaluję apt-get php5-sqlite3
i edytuję, php.ini
aby zawierało rozszerzenie sqlite3.
Kiedy biegnę phpinfo();
, dostaję
SQLITE3
SQLite3 support enabled
sqlite3 library version 3.4.2
jak pokazano powyżej, sqlite3
jest włączone. Jednak podczas używania otrzymuję komunikat „Nie znaleziono klasy SQLite3”
new SQLite3("database");
sudo checkinstall
(po uruchomieniusudo apt-get install checkinstall
. Po co używać systemu operacyjnego z menedżerem pakietów, jeśli nie zamierzasz go używać?apt-get install php5-sqlite
dzisiaj od 2015 rokuPróbować:
apt-get install php5-sqlite
To zadziałało dla mnie.
źródło
sudo yum install php-sqlite3 -y
sudo apt install php-sqlite3
W przypadku PHP7 użyj
sudo apt-get install php7.0-sqlite3
i uruchom ponownie Apache
źródło
sudo apt-get install php7.2-sqlite
Przyjęta odpowiedź nie jest kompletna bez pozostałych instrukcji (parafrazowanych poniżej) z wątku na forum, do którego prowadzi link:
cd /etc/php5/conf.d cat > sqlite3.ini # configuration for php SQLite3 module extension=sqlite3.so ^D sudo /etc/init.d/apache2 restart
źródło
sqlite3.ini
as/etc/php5/mods-available/sqlite3.ini
W przypadku Ubuntu 18.04 i PHP 7.2:
sudo apt install php-sqlite3
źródło
apt-get update
polecenie przed powyższym poleceniem, aby zostało wykonane bez błędów.Sterownik SQLite3 PDO nosi nazwę SQLite, a nie SQLite3, więc możesz:
new SQLite("database");
W przypadku bazy danych SQLite2:
new SQLite2("database");
źródło
jedną rzecz, którą chcę dodać, zanim spróbujesz zainstalować
apt-get install php5-sqlite
lub
apt-get install php5-sqlite3
wyszukaj podany pakiet jest dostępny lub nie: -
# apt-cache search 'php5'
Następnie otrzymasz: -
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
Tutaj masz pomysł, czy twoja wersja obsługuje czy nie .. w moim systemie otrzymuję php5-sqlite - moduł SQLite dla php5, więc wolę zainstalować
**apt-get install php5-sqlite**
źródło
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
To zadziałało dla mnie.
źródło
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
źródło
W Centos 6.7 w moim przypadku brakowało pliku biblioteki /usr/lib64/php/modules/sqlite3.so.
yum install php-pdo vim /etc/php.d/sqlite3.ini ; Enable sqlite3 extension module extension=sqlite3.so sudo service httpd restart
źródło
Jedynym zastosowaniem:
sudo apt-get install php5-sqlite
i później
sudo service apache2 restart
źródło
Sposób Debiana / Ubuntu dla php-7.2, php-7.3 i php-7.4 (np.
[234]
Część)Należy pamiętać, że w podsystemie Windows dla systemu Linux w wersji 1 (WSL1) system blokowania (plików) dla SQlite jest uszkodzony.
źródło
Zależy od wersji PHP. W przypadku php7.0 działają następujące polecenia:
sudo apt-get install php7.0-sqlite3
następnie zrestartuj serwer Apache:
sudo service apache2 restart
źródło
Dla dystrybucji Debiana. Nic nie działało, dopóki nie dodałem głównych repozytoriów Debiana do źródeł apt (nie wiem, jak zostały one usunięte):
sudo vi /etc/apt/sources.list
i dodał
deb http://deb.debian.org/debian stretch main deb-src http://deb.debian.org/debian stretch main
potem
sudo apt-get update
(możesz też uaktualnić) i na koniecsudo apt-get install php-sqlite3
źródło
To utonie, ale rozwiązałem swoje problemy z tym:
O ile się dowiedziałem, w
/usr/local/lib
wywołanym pliku jest uszkodzony plik,libsqlite3.so.0
który wskazuje nalibsqlite3.so.0.8.6
. O ile wiem, został zainstalowany przez pakiety php7.3- *.Zmieniłem nazwę pliku na wypadek, gdyby był do czegoś potrzebny. Poleceniem:
cd /usr/local/lib
sudo mv libsqlite3.so.0 ./libsqlite3.so.0.back
Ale możesz też po prostu go usunąć:
rm libsqlite3.so.0
Wątek, który doprowadził mnie do odpowiedzi: link
To rozwiązało moje problemy i mam nadzieję, że rozwiążą również Twoje :)
źródło