Артицле Дирецтори
Шта урадити када администратор прикаже поруку „Нема доступних подржаних PHP екстензија (SQLite3, PDO_SQLite)“ приликом отварања SQLite базе података? Овај чланак пружа водич корак по корак за модификовање php.ini и инсталирање и омогућавање екстензија pdo_sqlite и sqlite3. Поновно покретање сервиса ће одмах ступити на снагу. Решите проблем лако за 1 минут!
Радим на нечему последњих неколико дана и то је толико фрустрирајуће да скоро доводим у питање своје постојање.
овде самХестиаЦПИнсталирао сам Админер, тај лагани алат за управљање базама података, и желео сам да га користим за управљање својом SQLite базом података. Али када сам отворио страницу, појавила се искачућа порука црвеним текстом у којој је писало: „Нису доступна подржана PHP проширења (SQLite3, PDO_SQLite)“.

Био сам запрепашћен.
Шта ово значи? Имам инсталиран SQLite и PHP ради. Зашто је екстензија недоступна?
Да будем искрен, у почетку сам мислио да је проблем са самом Администратором, па сам неколико пута поново покренуо сервис, па чак и поново га инсталирао, али проблем је и даље постојао. Касније сам схватио да то нема никакве везе са Администратором; проблем је проистекао из уобичајене замке у коју упадају многи почетници.
Проблеми са екстензијама изазвани вишеверзијским PHP механизмом HestiaCP-а
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-а, идите на веб страницу, пронађите домен на који сте инсталирали Admin, кликните на „уреди“ и погледајте поље „Верзија 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То значи да је инсталација била успешна. Сада освежите страницу Администратора у вашем прегледачу и црвена порука упозорења би требало да нестане.
Тако сам то схватио корак по корак, од почетне мисли „Шта је ово?“ до каснијег схватања „О, разумем“, и направио сам доста заобилазних путева успут. Главни проблем је био што је вишеверзијски PHP дизајн HestiaCP-а заиста био склон замкама; ако нисте били упознати са његовом логиком, било је лако скренути са пута од самог првог корака.
Неки би могли да питају, зашто је HestiaCP толико компликован? Зар не бисмо могли једноставно да користимо једну, обједињену PHP верзију? Дизајн има смисла; различите веб странице могу се ослањати на различите PHP функције, а присиљавање на јединствену верзију могло би изазвати проблеме са компатибилношћу. Међутим, овај механизам заиста није баш једноставан за коришћење почетницима и није посебно наглашен у документацији.
Моје лично искуство је да када користите панеле попут HestiaCP-а, морате развити навику да прво схватите на коју PHP верзију је повезан ваш веб сајт. Без обзира да ли инсталирате екстензије, мењате конфигурације или решавате проблеме, овај број верзије је најважнија полазна тачка. Много пута, оно што мислите да је проблем са одређеном услугом је заправо само неусклађеност верзија.
Како описати тај осећај? Као да одвезете ауто на поправку, а механичар каже да немају део. Испоставило се да га имају, али сте отишли у погрешну радионицу и треба да идете у ону поред. Звучи мало глупо, али заиста је тако.
У реду, овим завршавам своје дељење искуства о решавању грешке администратора на HestiaCP. Надам се да вам може помоћи ако наиђете на исти проблем.
Блог Хопе Цхен Веилианг ( https://www.chenweiliang.com/ Чланак „Администратор приказује поруку 'Нема доступног подржаног PHP проширења'? Исправите грешку SQLite3/PDO_SQLite за 1 минут“ који је овде подељен може вам бити од помоћи.
Добродошли да поделите везу овог чланка:https://www.chenweiliang.com/cwl-34411.html
