Artikel Verzeechnes
Wat maache wann den Administrateur d'Meldung "Keng ënnerstëtzt PHP-Extensiounen verfügbar (SQLite3, PDO_SQLite)" weist wann hien d'SQLite-Datebank opmaacht? Dësen Artikel bitt eng Schrëtt-fir-Schrëtt-Anleitung fir php.ini z'änneren an d'pdo_sqlite- an sqlite3-Extensiounen z'installéieren an z'aktivéieren. De Service nei ze starten trëtt direkt a Kraaft. Problemléisung ass einfach an 1 Minutt!
Ech hunn déi lescht puer Deeg un eppes geschafft, an et war sou frustréierend, datt ech bal meng Existenz a Fro stelle.
ech sin heiHestiaCPEch hunn Adminer installéiert, dat liicht Datebankverwaltungstool, a wollt et benotze fir meng SQLite-Datebank ze verwalten. Mee wéi ech d'Säit opgemaach hunn, ass eng Pop-up-Meldung a rouden Text opgedaucht, déi sot: "Et gi keng ënnerstëtzt PHP-Erweiderungen (SQLite3, PDO_SQLite)".

Ech war erstaunt.
Wat bedeit dat? Ech hunn SQLite installéiert, an PHP leeft. Firwat ass d'Extensioun net verfügbar?
Fir éierlech ze sinn, hunn ech ufanks geduecht, et wier e Problem mam Admin selwer, dofir hunn ech de Service e puermol nei gestart an och nei installéiert, awer de Problem ass weidergaangen. Méi spéit hunn ech gemierkt, datt et näischt mam Admin ze dinn hat; de Problem staamt aus engem gemeinsame Fall, an deem vill Ufänger falen.
Problemer mat der Erweiderung, verursaacht duerch den HestiaCP sengem Multi-Versiouns-PHP-Mechanismus
HestiaCP ënnerstëtzt verschidde Versioune vu PHP, déi gläichzäiteg lafen.
Dëst bedeit datt Dir PHP 7.4, 8.0, 8.1, 8.2 an 8.3 gläichzäiteg op Ärem Server installéiere kënnt, a verschidde Websäite kënnen un verschidde Versioune vu PHP gebonnen sinn. Kléngt zimmlech fortgeschratt, richteg? Mee hei ass de Problem: wann Dir direkt tippt...php -mWann Dir de Modul iwwerpréift, benotzt en déi Standard-PHP-Versioun vum System, déi komplett anescht ka sinn wéi déi Versioun, déi tatsächlech un Är Websäit gebonnen ass.
Ech hunn eng Zäit laang gesicht a festgestallt, datt meng Websäit op PHP 8.2 gebonnen ass, awer den Terminal weist 8.1. Kee Wonner, datt ech de SQLite-Modul net fannen.
Dëst Gefill ass sou absurd. Et ass wéi wann ee bei engem Restaurant géif goen fir Iessen ze bestellen, an de Kellner géif Iech soen, datt d'Plat net verfügbar ass. Mee et stellt sech eraus, datt et net verfügbar ass, Dir sidd einfach bei déi falsch Persoun komm. Dir musst mat der Kichen schwätzen, fir datt et funktionéiert.
Wéi een déi PHP-Versioun vun enger Websäit bestëmmt
D'Léisung ass also einfach: als éischt musst Dir erausfannen, wéi eng Versioun vu PHP Är Websäit benotzt, an dann déi entspriechend Extensiounen installéieren.
Den éischte Schrëtt ass ze bestëmmen, wéi eng PHP Versioun Är Websäit benotzt.
Mellt Iech am HestiaCP Backend un, gitt op d'Websäit, sicht den Domain wou Dir Admin installéiert hutt, klickt op änneren a kuckt Iech d'Feld Web Server PHP Versioun un. D'Zuel déi do ugewise gëtt ass déi richteg. Et kéint 8.1, 8.2 oder 8.3 sinn; Dir musst dës Zuel als éischt bestätegen.
Vill Leit iwwersprangen dëse Schrëtt, well se mengen, et wier egal, well et souwisou alles PHP wier. Mee et ass wierklech wichteg; wann d'Versiounsnummeren net iwwereneestëmmen, hëlleft et net, méi Extensiounen z'installéieren.
Installéiert déi entspriechend Versioun vun der SQLite-Extensioun.
Den zweete Schrëtt ass déi entspriechend Versioun vun der SQLite-Extensioun z'installéieren.
Soubal Dir d'Versiounsnummer kennt, kënnt Dir se direkt iwwer Äre System-Packagemanager installéieren. Ënner der Viraussetzung datt Är Websäit PHP 8.2 benotzt, dann:
apt update
apt install php8.2-sqlite3 -yWann Är Websäit Versioun 8.1 oder 8.3 benotzt, ännert einfach d'Versiounsnummer.
Fir éierlech ze sinn, war ech mir net sécher, wéi eng Versioun ech hat, dofir hunn ech einfach déi üblech installéiert:
apt install php8.1-sqlite3 php8.2-sqlite3 php8.3-sqlite3 -ySou kann et all Versioun ofdecken, wat Iech Zäit an Effort spuert.
Start de PHP-FPM Service nei, fir datt d'Erweiderung a Kraaft trëtt.
Den drëtte Schrëtt ass de PHP-FPM Service nei ze starten.
Dëse Schrëtt iwwersinn vill Leit. Nodeems se d'Extensioun installéiert hunn, aktualiséieren se direkt d'Säit, just fir trotzdem eng Fehlermeldung ze kréien. Et ass net sou, datt d'Extensioun net installéiert gouf; et ass sou, datt Dir de korrespondéierende PHP-FPM-Prozess net nei gestart hutt, an déi nei installéiert Extensioun ass nach net gelueden.
Kommando nei starten:
systemctl restart php8.2-fpm
systemctl restart nginxDir kënnt d'Versiounsnummer jee no Ärer tatsächlecher Situatioun änneren.
Vergewëssert Iech, datt d'SQLite-Extensioun erfollegräich installéiert ass.
De véierte Schrëtt ass et ze verifizéieren.
Dir kënnt e spezifesche PHP Versiounspfad uginn fir ze kontrolléieren:
php8.2 -m | grep -i sqliteWann d'Ausgab enthältpdo_sqliteodersqlite3Dat heescht, d'Installatioun war erfollegräich. Aktualiséiert elo d'Administrateursäit an Ärem Browser, an déi rout Warnmeldung sollt verschwannen.
Sou hunn ech et Schrëtt fir Schrëtt erausfonnt, vun Ufank un wou ech geduecht hunn "Wat ass dat?" bis spéider gemierkt hunn "Oh, ech verstinn", an ech hunn ënnerwee zimmlech vill Ëmweeër gemaach. De Problem war, datt den HestiaCP säi Multi-Versiouns-PHP-Design tatsächlech ufälleg fir Fallen war; wann ee seng Logik net wousst, war et einfach vum éischte Schrëtt un ofzewäichen.
Verschidde Leit froe sech vläicht, firwat soll een HestiaCP sou komplizéiert maachen? Kënne mir net einfach eng eenzeg, eenheetlech PHP-Versioun benotzen? Den Design mécht Sënn; verschidde Websäite kéinten op verschidde PHP-Funktioune vertrauen, an eng eenheetlech Versioun ze forcéieren kéint Kompatibilitéitsproblemer verursaachen. Dëse Mechanismus ass awer tatsächlech net ganz benotzerfrëndlech fir Ufänger, an et gëtt an der Dokumentatioun net besonnesch ervirgehuewen.
Meng eegen Erfahrung ass, datt wann Dir Panelen wéi HestiaCP benotzt, musst Dir d'Gewunnecht entwéckelen, als éischt erauszefannen, op wéi eng PHP-Versioun Är Websäit gebonnen ass. Egal ob Dir Extensiounen installéiert, Konfiguratiounen ännert oder Problemer léist, dës Versiounsnummer ass de wichtegsten Ausgangspunkt. Dacks ass dat, wat Dir als e Problem mat engem bestëmmte Service hält, eigentlech just eng Versiounsmatch.
Wéi kann ech dat Gefill beschreiwen? Et ass, wéi wann Dir Äert Auto reparéiere géift loossen, an de Mechaniker seet, si hätten den Ersatzdeel net. Et stellt sech eraus, si hätten en zwar, awer Dir waart an déi falsch Garage an Dir musst an déi niewendrun goen. Et kléngt e bëssen domm, awer sou ass et eigentlech.
Okay, domat sinn meng Erfahrungen iwwer d'Léisung vum Administrateurfehler op HestiaCP eriwwer. Ech hoffen, et kann Iech hëllefen, wann Dir dat selwecht Problem hutt.
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ Den Artikel "Administrator freet 'Keng ënnerstëtzt PHP-Erweiderung verfügbar'? SQLite3/PDO_SQLite-Feeler an 1 Minutt behiewen" deen hei gedeelt gëtt, kéint Iech hëllefräich sinn.
Wëllkomm de Link vun dësem Artikel ze deelen:https://www.chenweiliang.com/cwl-34411.html
