Message d'administration : « Aucune extension PHP prise en charge n'est disponible » ? Résolvez les erreurs SQLite3/PDO_SQLite en 1 minute.

Que faire lorsque l'administrateur affiche le message « Aucune extension PHP prise en charge disponible (SQLite3, PDO_SQLite) » lors de l'ouverture de la base de données SQLite ? Cet article propose un guide pas à pas pour modifier le fichier php.ini et installer et activer les extensions pdo_sqlite et sqlite3. Un redémarrage du service prendra effet immédiatement. Résolvez le problème en un clin d'œil !

J'ai travaillé sur quelque chose ces deux derniers jours, et c'était tellement frustrant que j'en venais presque à remettre en question mon existence.

J'ai installé Adminer sur HestiaCP , l'outil léger de gestion de bases de données, dans l'espoir de l'utiliser pour gérer une base de données SQLite. Cependant, lorsque j'ai ouvert la page, un message contextuel en rouge est apparu indiquant : « Aucune extension PHP prise en charge n'est disponible (SQLite3, PDO_SQLite) ».

Message d'administration : « Aucune extension PHP prise en charge n'est disponible » ? Résolvez les erreurs SQLite3/PDO_SQLite en 1 minute.

J'étais stupéfait.

Que signifie ce message ? J’ai installé SQLite et PHP est en cours d’exécution. Pourquoi l’extension est-elle indisponible ?

Honnêtement, j'ai d'abord cru que le problème venait d'Admin, alors j'ai redémarré le service plusieurs fois et je l'ai même réinstallé, mais le problème persistait. Plus tard, j'ai compris que cela n'avait rien à voir avec Admin ; le problème provenait d'une erreur fréquente chez les débutants.

Problèmes d'extension causés par le mécanisme PHP multi-versions d'HestiaCP

HestiaCP prend en charge plusieurs versions de PHP exécutées simultanément.

Cela signifie que vous pouvez installer simultanément PHP 7.4, 8.0, 8.1, 8.2 et 8.3 sur votre serveur, et que différents sites web peuvent être associés à différentes versions de PHP. Plutôt avancé, non ? Mais voici le problème : lorsque vous saisissez directement…php -mLorsque vous vérifiez le module, celui-ci utilise la version PHP par défaut du système, qui peut être complètement différente de la version réellement utilisée par votre site web.

J'ai passé un temps fou à chercher et j'ai découvert que mon site web est lié à PHP 8.2, mais le terminal affiche 8.1. Pas étonnant que je ne trouve pas le module sqlite.

C'est tellement absurde ! ​​C'est comme aller au restaurant commander un plat et se faire dire par le serveur qu'il n'est pas disponible. En fait, il est disponible, mais vous vous êtes adressé à la mauvaise personne. Il faut contacter la cuisine pour que ce soit possible.

Comment déterminer la version PHP utilisée par un site web

La solution est donc simple : il faut d’abord déterminer quelle version de PHP votre site web utilise, puis installer les extensions correspondantes.

La première étape consiste à déterminer quelle version de PHP votre site utilise.

Connectez-vous à l'interface d'administration d'HestiaCP, accédez à la page web, recherchez le domaine sur lequel vous avez installé Admin, cliquez sur « Modifier » et vérifiez le champ « Version PHP du serveur web ». Le numéro affiché est le bon. Il peut s'agir de 8.1, 8.2 ou 8.3 ; vous devez le confirmer au préalable.

Beaucoup de personnes négligent cette étape, pensant qu'elle est inutile puisque tout est en PHP. Pourtant, elle est cruciale : si les numéros de version ne correspondent pas, l'installation d'extensions supplémentaires ne changera rien.

Installez la version correspondante de l'extension SQLite.

La deuxième étape consiste à installer la version correspondante de l'extension SQLite.

Une fois le numéro de version connu, vous pouvez l'installer directement via le gestionnaire de paquets de votre système. Si votre site utilise PHP 8.2 :

apt update
apt install php8.2-sqlite3 -y

Si votre site utilise la version 8.1 ou 8.3, il vous suffit de modifier le numéro de version.

Honnêtement, je ne savais pas quelle version j'avais, alors j'ai simplement installé les versions les plus courantes :

apt install php8.1-sqlite3 php8.2-sqlite3 php8.3-sqlite3 -y

Ainsi, il peut couvrir n'importe quelle version, vous faisant gagner du temps et des efforts.

Redémarrez le service PHP-FPM pour que l'extension soit prise en compte.

La troisième étape consiste à redémarrer le service PHP-FPM.

Beaucoup négligent cette étape. Après avoir installé l'extension, ils actualisent immédiatement la page, mais une erreur persiste. Le problème ne vient pas de l'installation de l'extension elle-même, mais du fait que le processus PHP-FPM correspondant n'a pas été redémarré et que l'extension nouvellement installée n'a pas encore été chargée.

Commande de redémarrage :

systemctl restart php8.2-fpm
systemctl restart nginx

Vous pouvez modifier le numéro de version en fonction de votre situation réelle.

Vérifiez que l'extension SQLite est correctement installée.

La quatrième étape consiste à le vérifier.

Vous pouvez spécifier un chemin d'accès à une version PHP particulière à vérifier :

php8.2 -m | grep -i sqlite

Si la sortie contientpdo_sqliteousqlite3L'installation s'est donc déroulée avec succès. Actualisez maintenant la page d'administration dans votre navigateur ; le message d'avertissement rouge devrait disparaître.

C’est ainsi que j’ai fini par comprendre, étape par étape, en passant de la question initiale « Qu’est-ce que c’est ? » à la réalisation plus tardive « Ah, je vois ! », et j’ai fait pas mal de détours en chemin. Le principal problème était que la conception PHP multiversion d’HestiaCP était en effet sujette à des pièges ; si l’on n’était pas familiarisé avec sa logique, il était facile de se tromper dès le départ.

Certains pourraient se demander pourquoi HestiaCP est si complexe. N'aurait-il pas été possible d'utiliser une seule version de PHP ? La conception se justifie : différents sites web peuvent utiliser différentes fonctionnalités PHP, et imposer une version uniforme risquerait d'entraîner des problèmes de compatibilité. Cependant, ce mécanisme est effectivement peu intuitif pour les débutants et n'est pas suffisamment mis en avant dans la documentation.

D'après mon expérience, lorsqu'on utilise des panneaux comme HestiaCP, il est essentiel de prendre l'habitude de vérifier systématiquement la version PHP de son site web. Que ce soit pour installer des extensions, modifier des configurations ou résoudre des problèmes, ce numéro de version est le point de départ le plus important. Bien souvent, ce que l'on prend pour un problème de service n'est en réalité qu'une simple incompatibilité de versions.

Comment décrire ce que l'on ressent ? C'est comme si vous emmeniez votre voiture au garage et que le garagiste vous disait qu'il n'avait pas la pièce. En fait, il l'a bien, mais vous vous êtes trompé d'atelier et il faut aller à celui d'à côté. Ça peut paraître absurde, mais c'est pourtant la réalité.

Voilà qui conclut mon partage d'expérience concernant la résolution de l'erreur d'administrateur sur HestiaCP. J'espère que cela pourra vous aider si vous rencontrez le même problème.

J'espère que l'article « L'administrateur affiche le message « Aucune extension PHP prise en charge disponible » ? Résolvez l'erreur SQLite3/PDO_SQLite en 1 minute » publié sur le blog de Chen Weiliang ( https://www.chenweiliang.com/ ) vous sera utile.

N'hésitez pas à partager le lien de cet article : https://www.chenweiliang.com/cwl-34411.html

Pour débloquer plus d'astuces cachées🔑, bienvenue sur notre chaîne Telegram !

Partagez et likez si vous aimez ! Vos partages et vos likes sont notre motivation continue !

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Remonter en haut