Unable to load pdo_sqlite.so extension

前端 未结 5 1428
北海茫月
北海茫月 2020-12-20 23:07

I\'m trying to install the pdo-sqlite ext for the cli.

I have tried to run sudo apt-get install php5-sqlite and it says the ext is already up to date bu

相关标签:
5条回答
  • 2020-12-20 23:29

    You've got (at least part of) two different versions of php installed, and they're conflicting. You'll probably want to clean out the version you're not using in order to prevent further issues. It might be easiest to just wipe both and then reinstall the one you want. Also make sure that your php.ini has its extension_dir setting pointing to the correct directory for the version you're keeping.

    The internal PHP API is versioned according to date, so when backwards-incompatible changes are made and a new version is required, you'll get a new subdirectory name. If the changes are backward-compatible, and no new API version is required, then you can make minor updates to your PHP version without having to recompile your extensions.

    I believe 20131226 is for PHP version 5.6 and 20160303 is for PHP version 7.

    0 讨论(0)
  • 2020-12-20 23:35

    I tried to delete the library as mentioned in the previous comments and it worked for a short time then the problem came up again, so I did the following, when I deleted the library when doing ldd /usr/lib/php/20190902/pdo_sqlite. It appeared:

    libsqlite3.so.0 => lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007fd35803b000)
    

    and that link points in the same directory to libsqlite3.so.0.8.6

    so replace the link in /usr/local/lib to point to this library as follows

    sudo ln -sf /lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 /usr/local/lib/libsqlite3.so.0
    

    sorry, I don't speak English so I use google translator

    0 讨论(0)
  • 2020-12-20 23:37

    I had the same, for me the issue was in /etc/php/7.2/apache2/php.ini the outcomment was removed so pdo_sqlite was loaded (or tried to) from there too.

    Modules are now loaded from /etc/php/7.2/apache2/conf.d/

    0 讨论(0)
  • 2020-12-20 23:44

    I know this question has been answered, but other people might have the same problem as I did. I hope this helps someone, because I spent three f***ing days stuck on this.

    As far as I have found out, there is a faulty file in /usr/local/lib called libsqlite3.so.0 which points to libsqlite3.so.0.8.6. I renamed the file in case it was needed for something. With the command:

    cd /usr/local/lib

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

    But you can also delete it: rm libsqlite3.so.0

    The thread that lead me to the answer: link

    This solved my problems, and I hope they solve yours as well :)

    0 讨论(0)
  • 2020-12-20 23:46

    you can try install php version 5 :

    sudo apt install php5-sqlite3
    

    or for another version :

    PHP 7.1

    sudo apt install php7.1-sqlite3
    

    PHP 7.2

    sudo apt install php7.2-sqlite3
    

    PHP 7.3

    sudo apt install php7.3-sqlite3
    

    and another version you want....

    0 讨论(0)
提交回复
热议问题