ఆర్టికల్ డైరెక్టరీ
SQLite డేటాబేస్ను తెరిచేటప్పుడు అడ్మినిస్ట్రేటర్ "No supported PHP extensions available (SQLite3, PDO_SQLite)" అనే సందేశాన్ని చూపిస్తే ఏమి చేయాలి? ఈ ఆర్టికల్ php.ini ని సవరించడం, pdo_sqlite మరియు sqlite3 ఎక్స్టెన్షన్లను ఇన్స్టాల్ చేసి ఎనేబుల్ చేయడంపై దశలవారీ మార్గదర్శకాన్ని అందిస్తుంది. సర్వీస్ను పునఃప్రారంభించడం తక్షణమే అమలులోకి వస్తుంది. 1 నిమిషంలో సులభంగా సమస్యను పరిష్కరించండి!
నేను గత రెండు రోజులుగా ఒక పని మీద పని చేస్తున్నాను, అది ఎంత నిరాశ కలిగిస్తోందంటే నా ఉనికినే ప్రశ్నించుకుంటున్నాను.
SQLite డేటాబేస్ను నిర్వహించడానికి ఉపయోగపడుతుందనే ఆశతో, నేను తేలికపాటి డేటాబేస్ నిర్వహణ సాధనమైన Adminerను HestiaCP లో ఇన్స్టాల్ చేసాను . అయితే, నేను పేజీని తెరిచినప్పుడు, "మద్దతు ఉన్న PHP ఎక్స్టెన్షన్లు ఏవీ అందుబాటులో లేవు (SQLite3, PDO_SQLite)" అని ఎరుపు రంగులో ఒక పాప్-అప్ సందేశం కనిపించింది.

నేను నివ్వెరపోయాను.
దీని అర్థం ఏమిటి? నేను 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 బ్యాకెండ్లోకి లాగిన్ చేసి, వెబ్ పేజీకి వెళ్లి, మీరు అడ్మిన్ను ఇన్స్టాల్ చేసిన డొమైన్ను కనుగొని, ఎడిట్పై క్లిక్ చేసి, వెబ్ సర్వర్ 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లో అడ్మినిస్ట్రేటర్ లోపాన్ని పరిష్కరించడంపై నా అనుభవాన్ని పంచుకోవడం ఇంతటితో ముగిసింది. ఒకవేళ మీరు కూడా ఇదే సమస్యను ఎదుర్కొంటే, ఇది మీకు సహాయపడుతుందని ఆశిస్తున్నాను.
చెన్ వీలియాంగ్ బ్లాగ్ ( https://www.chenweiliang.com/ ) లో పంచుకున్న "Admin prompts 'No supported PHP extension available'? Solve SQLite3/PDO_SQLite error in 1 minute" అనే వ్యాసం మీకు ఉపయోగపడుతుందని ఆశిస్తున్నాము.
ఈ వ్యాసం యొక్క లింక్ను పంచుకోవడానికి సంకోచించకండి: https://www.chenweiliang.com/cwl-34411.html
