我正在尝试在Ubuntu中为PHP安装sqlite3。
我安装apt-get php5-sqlite3
并编辑php.ini
以包含sqlite3扩展名。
当我运行phpinfo();
时,我得到了
SQLITE3
SQLite3 support enabled
sqlite3 library version 3.4.2
如上所示,sqlite3
已启用。但是,当我使用
new SQLite3("database");
答案 0 :(得分:234)
尝试:
apt-get install php5-sqlite
这对我有用。
答案 1 :(得分:34)
编辑:此答案已过时,但由于已被接受,因此无法删除。请参阅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 form中删除。
答案 2 :(得分:29)
对于PHP7,请使用
sudo apt-get install php7.0-sqlite3
并重启Apache
sudo apache2ctl restart
答案 3 :(得分:14)
如果没有forum thread链接到的其余说明(下面的转述),则接受的答案是不完整的:
cd /etc/php5/conf.d
cat > sqlite3.ini
# configuration for php SQLite3 module
extension=sqlite3.so
^D
sudo /etc/init.d/apache2 restart
答案 4 :(得分:4)
SQLite3 PDO驱动程序名为SQLite,而不是SQLite3,因此您可以执行以下操作:
new SQLite("database");
对于SQLite2数据库:
new SQLite2("database");
答案 5 :(得分:3)
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**
答案 6 :(得分: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
这对我有用。
答案 7 :(得分:2)
对于Ubuntu 18.04和PHP 7.2:
sudo apt install php-sqlite3
答案 8 :(得分:1)
试试这个:
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
答案 9 :(得分:1)
在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
答案 10 :(得分:1)
仅使用:
sudo apt-get install php5-sqlite
以后
sudo service apache2 restart
答案 11 :(得分:0)
取决于PHP的版本。对于php7.0,可以使用以下命令:
sudo apt-get install php7.0-sqlite3
然后重新启动Apache服务器:
sudo service apache2 restart
答案 12 :(得分:0)
对于Debian发行版。直到我在apt来源上添加了debian主存储库(我不知道如何删除它们)后,它才起作用:
sudo vi /etc/apt/sources.list
并添加
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
答案 13 :(得分:0)
这会淹死在这里,但是我解决了这个问题:
据我发现,/usr/local/lib
中有一个名为libsqlite3.so.0
的错误文件,该文件指向libsqlite3.so.0.8.6
。据我所知,它是通过php7.3- *软件包安装的。
我重命名了文件,以防万一。使用命令:
cd /usr/local/lib
sudo mv libsqlite3.so.0 ./libsqlite3.so.0.back
但是您也可以删除它:
rm libsqlite3.so.0
引导我找到答案的线索:link
这解决了我的问题,我希望他们也解决您的问题:)
答案 14 :(得分:0)
用于php-7.2,php-7.3和php-7.4的Debian / Ubuntu方法(例如[234]
部分)
sudo apt install php7.[234]-sqlite
sudo phpenmod sqlite3
请确保在用于Linux版本1(WSL1)的Windows子系统上,SQlite的(文件)锁定系统已损坏。