如何为php启用sqlite3?

我正在尝试在Ubuntu中为PHP安装sqlite3。

我安装sqlite3并编辑php.ini以包含sqlite3扩展名。

当我运行sqlite3时,我得到了

SQLITE3
SQLite3 support  enabled  
sqlite3 library version  3.4.2  

如上所示,启用了sqlite3。 但是,当我使用时,我得到“Class SQLite3 not found”

 new SQLite3("database");
Moon asked 2019-09-10T06:44:54Z
14个解决方案
233 votes

尝试:

apt-get install php5-sqlite

这对我有用。

Stacey Richards answered 2019-09-10T06:45:45Z
34 votes

编辑:此答案已过时,但由于已被接受,因此无法删除。 请参阅Stacey Richards的解决方案以获得正确答案。

 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

从ubuntu表单中删除。

miccet answered 2019-09-10T06:45:15Z
28 votes

对于PHP7,请使用

sudo apt-get install php7.0-sqlite3

并重启Apache

sudo apache2ctl restart
theczechsensation answered 2019-09-10T06:46:16Z
14 votes

如果没有与论坛主题相关的其余说明(下文中的转述)链接到以下内容,则接受的答案是不完整的:

cd /etc/php5/conf.d

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

sudo /etc/init.d/apache2 restart
btk answered 2019-09-10T06:46:41Z
4 votes

SQLite3 PDO驱动程序名为SQLite,而不是SQLite3,因此您可以执行以下操作:

new SQLite("database");

对于SQLite2数据库:

new SQLite2("database");
Tom Haigh answered 2019-09-10T06:47:12Z
3 votes

在尝试安装之前,我想添加一件事

apt-get install php5-sqlite

要么

apt-get install php5-sqlite3 

搜索给定的包是否可用: -

 # apt-cache search 'php5'

之后你得到: -

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

在这里,您可以了解您的版本是否支持..在我的系统中我得到php5-sqlite - 用于php5的SQLite模块所以我更喜欢安装

**apt-get install php5-sqlite**
sanjeev answered 2019-09-10T06:47:59Z
2 votes
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

这对我有用。

Bitcoin Mining answered 2019-09-10T06:48:18Z
1 votes

试试这个:

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
Hazem Hagrass answered 2019-09-10T06:48:42Z
1 votes

在Centos 6.7中,在我的情况下,库文件/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
satishwin answered 2019-09-10T06:49:06Z
1 votes

仅用:

sudo apt-get install php5-sqlite

然后

sudo service apache2 restart
C47 answered 2019-09-10T06:49:36Z
1 votes

对于Ubuntu 18.04和PHP 7.2:

sudo apt install php-sqlite3

Jarek Jakubowski answered 2019-09-10T06:50:09Z
0 votes

取决于PHP的版本。 对于php7.0,以下命令有效:
sudo apt-get install php7.0-sqlite3
然后重启Apache服务器:
sudo service apache2 restart

doru answered 2019-09-10T06:50:53Z
0 votes

对于Debian发行版。 直到我在apt源上添加debian主存储库(我不知道它们是如何删除)之前没有任何工作:sudo apt-get update

并补充说

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

之后sudo apt-get update(你也可以升级)最后sudo apt-get install php-sqlite3

vivoconunxino answered 2019-09-10T06:51:31Z
0 votes

这将淹没在这里,但我解决了我的问题:

据我所知,rm libsqlite3.so.0中有一个错误的文件,名为sudo mv libsqlite3.so.0 ./libsqlite3.so.0.back,指向libsqlite3.so.0.8.6。据我所知,它已通过php7.3- *软件包安装。

我重命名了该文件以防万一需要它。 使用命令:

rm libsqlite3.so.0sudo mv libsqlite3.so.0 ./libsqlite3.so.0.back

但你也可以删除它:rm libsqlite3.so.0

引导我回答的主题:链接

这解决了我的问题,我希望他们也解决你的问题:)

IncrediblePony answered 2019-09-10T06:52:38Z
translate from https://stackoverflow.com:/questions/948899/how-to-enable-sqlite3-for-php