PHP致命错误:未找到SQLite3类。

17

我正在使用Ubuntu 12.04和PHP 5.x。我需要在其中使用sqlite3,但是我遇到了一个错误:

php fatal error: class sqlite3 not found

我完成了所有的安装过程,

例如:

$ 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

并且

cd /etc/php5/conf.d

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

sudo /etc/init.d/apache2 restart

现在我还想做什么?

有人可以帮我修复这个问题吗?


这个回答解决了你的问题吗?如何为PHP启用SQLite3? - ggorlen
10个回答

24

我自己找到了解决办法,

我安装了

 $ sudo apt-get install php5-sqlite

不是

 $ sudo apt-get install php5-sqlite3

现在仅使用sqlite3类,没有问题。


sqlite3和php5-sqlite3有什么区别?我安装了sqlite3并在php.conf中进行了配置,但仍然出现“Class SQLite3 not found”的错误。 - marciokoko
基本上,如果你想用php使用sqlite,仅仅安装sqlite是不够的,你必须安装php-plugin(也就是扩展)才能让它与php一起工作。 - harishkumar329
1
如果您删除php版本#,Ubuntu将自动猜测正确的版本。 sudo apt-get install php-sqlite3 - kkron
安装完apache2后重启并不足够。可能CGI服务也需要重新启动。最终我重启了系统,一切正常运行。 - Sam Sirry

13
  • Step 1 :

    • For PHP5, use

      sudo apt-get install php5-sqlite
      
    • For PHP7.0, use

      sudo apt-get install php7.0-sqlite
      
    • For PHP7.1, use

      sudo apt-get install php7.1-sqlite
      
    • For PHP7.2, use

      sudo apt-get install php7.2-sqlite
      
    • For PHP7.3, use

      sudo apt-get install php7.3-sqlite
      
  • Step 2 :

    • Restart Apache

      sudo service apache2 restart
      

5
对于在ArchLinux中出现的错误PHP致命错误:未捕获的错误:类'SQLite3'在路径/文件.php:1中未找到
安装PHP的sqlite扩展:
$ sudo pacman -S php-sqlite

然后编辑/etc/php/php.ini文件并添加以下内容:

extension=pdo_sqlite
extension=sqlite3

Source: 1


4

即使我已经安装了所有库,我仍然遇到了同样的问题。如果您运行php-fcgi,则应重启它:

sudo service php-fcgi restart

也尝试重启Apache:

sudo service apache restart 

4

我的PHP版本是7.3,因此我使用了以下代码:

对于PHP7.3,请使用以下代码:

sudo apt install php7.3-sqlite3

别忘了重新启动你的Apache2

sudo service apache2 restart

4
为安装缺失的sqlite3类,请执行以下操作:
apt-get install php7.4-sqlite3

3

如果您使用XAMPP或其他软件,请先关闭它。

  1. 打开此目录:xampp > php > php.ini(在PHP文件夹中找到php.ini文件)
  2. 用记事本打开php.ini文件
  3. 搜索“SQLite3”
  4. 删除此行前面的分号;extension=sqlite3
  5. 最终结果应为:extension=sqlite3
  6. 保存文件
  7. 重新打开XAMPP

1
我遇到了相同的错误。如果您使用的是Windows操作系统,请不要忘记在php.ini中取消注释php_sqlite3.dll(以及可选的php_pdo_sqlite.dll)扩展。保存php.ini文件并重新启动脚本。

(我将此答案添加到带有ubuntu标签的问题中,因为该问题在谷歌搜索“php sqlite3 not found”时排名第一。)


0

对于php5.6,请使用:

sudo apt-get install php5.6-sqlite3

0

在 Linux 系统中运行此命令或(根据您的操作系统和 PHP 版本)

系统信息 - Ubuntu 20 PHP 7.4 服务器 - PHP 本地

sudo apt-get install php7.4-sqlite3


然后你需要重新启动你的 web 服务器应用程序,如 apache、nginx 或本地 php 服务器,然后尝试运行 你可以运行测试 SQLite 工作的代码

<?php
   class MyDB extends SQLite3 {
      function __construct() {
         $this->open('sqlitedb.db');
      }
   }
   $db = new MyDB();
   if(!$db) {
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully\n";
   }
?>

创建 PHP 文件 index.php

我正在使用 PHP 本地服务器 输入图像说明

 php -S localhost:8000

打开这个网址 (http://localhost:8000) 在此输入图片描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接