Әкімші «Қолдау көрсетілетін PHP кеңейтімдері жоқ» деп сұрайды ма? SQLite3/PDO_SQLite қателерін 1 минут ішінде шешіңіз.

Әкімші SQLite дерекқорын ашқан кезде «Қолдау көрсетілетін PHP кеңейтімдері жоқ (SQLite3, PDO_SQLite)» хабарын көрсеткен кезде не істеу керек? Бұл мақалада php.ini файлын өзгерту, pdo_sqlite және sqlite3 кеңейтімдерін орнату және қосу бойынша қадамдық нұсқаулық берілген. Қызметті қайта іске қосу бірден күшіне енеді. Ақаулықты 1 минут ішінде оңай шешіңіз!

Соңғы екі күнде бір нәрсемен айналысып жүрмін, және бұл соншалықты көңілсіз болды, тіпті өзімнің бар екеніме күмәнданып қала жаздадым.

我在HestiaCPМен жеңіл дерекқорды басқару құралы Adminer бағдарламасын орнаттым және оны SQLite дерекқорымды басқару үшін пайдаланғым келді. Бірақ бетті ашқан кезде, қызыл мәтінмен «Қолдау көрсетілетін PHP кеңейтімдері жоқ (SQLite3, PDO_SQLite)» деген қалқымалы хабарлама пайда болды.

Әкімші «Қолдау көрсетілетін PHP кеңейтімдері жоқ» деп сұрайды ма? SQLite3/PDO_SQLite қателерін 1 минут ішінде шешіңіз.

Мен есеңгіреп қалдым.

Бұл нені білдіреді? Менде SQLite орнатылған және PHP жұмыс істеп тұр. Неліктен кеңейтім қолжетімді емес?

Шынымды айтсам, бастапқыда бұл әкімшінің өзінде деп ойладым, сондықтан қызметті бірнеше рет қайта іске қостым, тіпті қайта орнаттым, бірақ мәселе шешілмеді. Кейінірек мен оның әкімшімен ешқандай байланысы жоқ екенін түсіндім; мәселе көптеген жаңадан бастаушылар кездесетін кең таралған қателіктен туындады.

HestiaCP көп нұсқалы PHP механизмінен туындаған кеңейтім мәселелері

HestiaCP бір уақытта жұмыс істейтін PHP-дің бірнеше нұсқасын қолдайды.

Бұл сіздің серверіңізге PHP 7.4, 8.0, 8.1, 8.2 және 8.3 нұсқаларын бір уақытта орната алатыныңызды және әртүрлі веб-сайттарды PHP-дің әртүрлі нұсқаларына байланыстыра алатыныңызды білдіреді. Бұл өте озық естіледі, солай ма? Бірақ мәселе мынада: тікелей терген кезде...php -mМодульді тексерген кезде, ол жүйенің әдепкі PHP нұсқасын пайдаланады, ол сіздің веб-сайтыңызға байланыстырылған нұсқадан мүлдем өзгеше болуы мүмкін.

Мен ұзақ уақыт бойы іздеу жүргіздім және веб-сайтымның PHP 8.2 нұсқасына байланғанын анықтадым, бірақ терминал 8.1 нұсқасын көрсетеді. Sqlite модулін таба алмағаным таңқаларлық емес.

Бұл сезім өте абсурд. Бұл тамақ тапсырыс беру үшін мейрамханаға барғандай, ал даяшы тағамның жоқ екенін айтқандай. Бірақ ол жоқ емес, сіз жай ғана дұрыс емес адамға келгенсіз. Бұл жұмыс істеуі үшін ас үймен сөйлесу керек.

Веб-сайт пайдаланатын PHP нұсқасын қалай анықтауға болады

Сонымен, шешім қарапайым: алдымен веб-сайтыңыздың PHP нұсқасын пайдаланып жатқанын анықтап, содан кейін сәйкес кеңейтімдерді орнатуыңыз керек.

Бірінші қадам - ​​​​сайтыңыздың қай PHP нұсқасын қолданып жатқанын анықтау.

HestiaCP серверіне кіріңіз, веб-бетке өтіңіз, Әкімші орнатқан доменді табыңыз, өңдеу түймесін басыңыз және Web Server PHP нұсқасы өрісін қараңыз. Онда көрсетілген нөмір дұрыс. Ол 8.1, 8.2 немесе 8.3 болуы мүмкін; алдымен осы нөмірді растауыңыз керек.

Көптеген адамдар бұл қадамды өткізіп жібереді, себебі бәрі PHP болғандықтан, бұл маңызды емес деп ойлайды. Бірақ бұл шынымен маңызды; егер нұсқа нөмірлері сәйкес келмесе, көбірек кеңейтімдерді орнату көмектеспейді.

SQLite кеңейтімінің сәйкес нұсқасын орнатыңыз.

Екінші қадам - ​​SQLite кеңейтімінің сәйкес нұсқасын орнату.

Нұсқа нөмірін білгеннен кейін, оны жүйелік пакет менеджерін пайдаланып тікелей орната аласыз. Сайтыңыз PHP 8.2 пайдаланады деп есептесек, онда:

apt update
apt install php8.2-sqlite3 -y

Егер сіздің сайтыңыз 8.1 немесе 8.3 нұсқасын пайдаланса, нұсқа нөмірін өзгертіңіз.

Шынымды айтсам, қай нұсқасы бар екеніне сенімді болмадым, сондықтан кең таралған нұсқаларын орнаттым:

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

Осылайша, ол кез келген нұсқаны қамтуы мүмкін, бұл сіздің уақытыңыз бен күшіңізді үнемдейді.

Кеңейтімнің күшіне енуі үшін PHP-FPM қызметін қайта іске қосыңыз.

Үшінші қадам - ​​PHP-FPM қызметін қайта іске қосу.

Бұл көптеген адамдар елемейтін қадам. Кеңейтімді орнатқаннан кейін, олар бетті бірден жаңартады, бірақ қате туралы хабарлама шығады. Кеңейтім орнатылмағандықтан емес; сіз тиісті PHP-FPM процесін қайта іске қоспағандықтан және жаңадан орнатылған кеңейтім әлі жүктелмегендіктен.

Қайта іске қосу командасы:

systemctl restart php8.2-fpm
systemctl restart nginx

Нұсқа нөмірін нақты жағдайыңызға сәйкес өзгерте аласыз.

SQLite кеңейтімінің сәтті орнатылғанын тексеріңіз.

Төртінші қадам - ​​оны тексеру.

Тексеру үшін нақты PHP нұсқасының жолын көрсете аласыз:

php8.2 -m | grep -i sqlite

Егер шығыс құрамында болсаpdo_sqliteнемесеsqlite3Бұл орнату сәтті аяқталғанын білдіреді. Енді браузеріңіздегі Әкімші бетін жаңартыңыз, сонда қызыл ескерту хабары жоғалып кетуі керек.

Міне, мен мұны біртіндеп түсіндім, бастапқыда «Бұл не?» деп ойлағаннан кейін кейін «Түсіндім» дегенге дейін, және жол бойында бірнеше рет айналып өттім. Негізгі мәселе HestiaCP-тің көп нұсқалы PHP дизайнының шынымен де қателіктерге бейім болуында болды; егер сіз оның логикасымен таныс болмасаңыз, алғашқы қадамнан бастап адасу оңай еді.

Кейбіреулер HestiaCP-ті неге соншалықты күрделі ету керек деп сұрауы мүмкін? Біз PHP-дің бірыңғай, біріктірілген нұсқасын қолдана алмаймыз ба? Дизайн мағыналы; әртүрлі веб-сайттар әртүрлі PHP мүмкіндіктеріне сүйенуі мүмкін, ал бірыңғай нұсқаны мәжбүрлеу үйлесімділік мәселелерін тудыруы мүмкін. Дегенмен, бұл механизм жаңадан бастаушылар үшін өте ыңғайлы емес және құжаттамада оған ерекше назар аударылмаған.

Менің жеке тәжірибем бойынша, HestiaCP сияқты панельдерді пайдаланған кезде, алдымен веб-сайтыңыздың қай PHP нұсқасына байланғанын анықтау әдетін дамытуыңыз керек. Кеңейтімдерді орнату, конфигурацияларды өзгерту немесе ақаулықтарды жою болсын, бұл нұсқа нөмірі ең маңызды бастапқы нүкте болып табылады. Көп жағдайда белгілі бір қызметтегі мәселе деп ойлайтын нәрсе - бұл тек нұсқа сәйкессіздігі.

Бұл сезімді қалай сипаттауға болады? Бұл көлігіңізді жөндеуге апарғандай, ал механик оларда бөлшек жоқ екенін айтқандай. Оларда бөлшек бар екені белгілі болды, бірақ сіз қате жөндеу шеберханасына барғансыз және көршілес жөндеу шеберханасына баруыңыз керек. Бұл аздап күлкілі болып естіледі, бірақ шын мәнінде солай.

Міне, HestiaCP жүйесіндегі әкімші қатесін шешу бойынша тәжірибеммен бөліскім келді. Егер сіз де осындай мәселеге тап болсаңыз, бұл сізге көмектеседі деп үміттенемін.

Hope Chen Weiliang блогы ( https://www.chenweiliang.com/ Осында бөлісілген «Әкімші 'Қолдау көрсетілетін PHP кеңейтімі жоқ' деп сұрайды ма? SQLite3/PDO_SQLite қатесін 1 минут ішінде түзетіңіз» мақаласы сізге пайдалы болуы мүмкін.

Осы мақаланың сілтемесін бөлісуге қош келдіңіз:https://www.chenweiliang.com/cwl-34411.html

Көбірек жасырын трюктердің құлпын ашу үшін🔑 Telegram каналымызға қосылыңыз!

Бөлісу және ұнаса лайк! Сіздің бөлісулеріңіз бен лайктарыңыз біздің тұрақты мотивациямыз болып табылады!

 

Пікірлер

Электрондық пошта мекенжайыңыз жарияланбайды. 必填 项 已 用 * 标注

Мақала анықтамалығы
Топ Scroll