php致命错误:找不到类sqlite3

时间:2013-10-24 11:55:38

标签: php ubuntu sqlite ubuntu-12.04 lamp

我正在使用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

现在我还想做什么?

任何人都可以帮我解决这个问题......

谢谢提前。

9 个答案:

答案 0 :(得分:9)

找到了我自己的解决方案,

我安装了

 $ sudo apt-get install php5-sqlite

 $ sudo apt-get install php5-sqlite3

仅使用sqlite3类..现在没问题。

答案 1 :(得分:3)

  • 第1步:

    • 对于PHP5,使用

      sudo apt-get install php5-sqlite
      
    • 对于PHP7.0,使用

      sudo apt-get install php7.0-sqlite
      
    • 对于PHP7.1,使用

      sudo apt-get install php7.1-sqlite
      
    • 对于PHP7.2,使用

      sudo apt-get install php7.2-sqlite
      
    • 对于PHP7.3,使用

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

    • 重新启动Apache

      sudo service apache2 restart
      

答案 2 :(得分:2)

即使我安装了所有库,我也遇到了同样的问题。 如果你运行php-fcgi,你应该重新启动它:

sudo service php-fcgi restart

尝试重启apache:

sudo service apache restart 

答案 3 :(得分:2)

我的PHP是7.3,因此我使用了以下

对于PHP7.3,使用

on_reaction_add

别忘了重新启动 Apache2

    @commands.Cog.listener()
    async def on_reaction_add(self, reaction, user : discord.Member):

        def check(reaction, user):
            name_list = []
            for emoji in reaction.message.reactions:
                name_list.append(emoji.emoji)

            return '✅' in name_list and reaction.message.author.id == yourBotsID and reaction.message.content == "Do you want to delete this channel?" and user.guild_permissions.administrator

        if check(reaction, user):
            await ctx.send("K!")
            await ctx.channel.delete()

答案 4 :(得分:0)

我有同样的错误。如果您使用的是Windows,请不要忘记取消注释php_sqlite3.dll中的php_pdo_sqlite.dll(以及可选的php.ini)扩展名。保存php.ini,然后重新启动脚本。

(我用ubuntu标签将此问题添加到了问题中,因为该问题在Google请求php sqlite3 not found的第一位)。

答案 5 :(得分:0)

对于 ArchLinux 上的错误PHP Fatal error: Uncaught Error: Class 'SQLite3' not found in /path/file.php:1

为PHP安装sqlite扩展名:

$ sudo pacman -S php-sqlite

然后编辑/etc/php/php.ini并添加:

extension=pdo_sqlite
extension=sqlite3

来源:1

答案 6 :(得分:0)

对于php5.6使用:

sudo apt-get install php5.6-sqlite3

答案 7 :(得分:0)

要安装缺少的类sqlite3,请运行:

apt-get install php7.4-sqlite3

答案 8 :(得分: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 本地服务器 enter image description here

 php -S localhost:8000

(http://localhost:8000) 打开那个 url enter image description here