2 votes

Impossible d'exécuter pdo_sqlite sur Ubuntu 20.04 avec PHP 7.4

J'essaie d'installer et de faire fonctionner PDO pour sqlite3 sur Ubuntu 20.04 avec PHP 7.4 et je n'arrive pas à comprendre ce que je ne fais pas correctement. J'ai installé sqlite3 et php-common et j'ai décomposé les lignes suivantes dans le php.ini :

extension=pdo_sqlite
extension=sqlite3

Lors de l'exécution de php, je reçois le résultat suivant :

php -i | grep sqlite
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: /usr/lib/php/20190902/pdo_sqlite (/usr/lib/php/20190902/pdo_sqlite: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/pdo_sqlite.so (/usr/lib/php/20190902/pdo_sqlite.so: undefined symbol: php_pdo_unregister_driver)) in Unknown on line 0
/etc/php/7.4/cli/conf.d/20-pdo_sqlite.ini,
/etc/php/7.4/cli/conf.d/20-sqlite3.ini,
sqlite3
sqlite3.defensive => 1 => 1
sqlite3.extension_dir => no value => no value

C'est très étrange pour moi car le fichier /usr/lib/php/20190902/pdo_sqlite.so existe. J'ai également testé PHP7.3 et PHP7.2 et le résultat est le même. Passez d'une version à l'autre de PHP avec :

update-alternatives --config php

0voto

zehrer Points 887

J'ai eu le même problème après la mise à jour vers Ubuntu 20.04, aussi, et je l'ai résolu par :

  1. Mise en commentaire des deux extensions dans le php.ini
  2. Installation de php-sqlite3

Je pense que le fait de décommenter directement les lignes d'extension dans le php.ini entraîne un double chargement des extensions, ce qui cause ce problème.

0voto

mehdi abbasi Points 1

Veuillez installer sqlite pour votre version de php, pour php7.4, suivez la commande suivante
sudo apt install php7.4-sqlite3

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X