Admin naroskeun "Teu aya éksténsi PHP anu dirojong"? Ngalereskeun kasalahan SQLite3/PDO_SQLite dina 1 menit.

Naon anu kedah dilakukeun nalika administrator nampilkeun pesen "Teu aya éksténsi PHP anu dirojong (SQLite3, PDO_SQLite)" nalika muka database SQLite? Artikel ieu nyayogikeun pituduh léngkah-léngkah ngeunaan ngarobih php.ini sareng masang sareng ngaktipkeun éksténsi pdo_sqlite sareng sqlite3. Ngamimitian deui layanan bakal langsung épéktip. Ngalereskeun masalah kalayan gampang dina 1 menit!

Kuring geus ngerjakeun hiji hal salila sababaraha poé katukang, jeung éta téh matak frustasi pisan nepi ka kuring ampir-ampiran ragu kana ayana kuring.

Abdi masang Adminer dina HestiaCP , alat manajemen database anu hampang, miharep tiasa dianggo pikeun ngatur database SQLite. Nanging, nalika abdi muka halaman éta, aya pesen pop-up dina téks beureum anu nyarios, "Teu aya éksténsi PHP anu dirojong (SQLite3, PDO_SQLite)".

Admin naroskeun "Teu aya éksténsi PHP anu dirojong"? Ngalereskeun kasalahan SQLite3/PDO_SQLite dina 1 menit.

Abdi reuwas.

Naon hartosna ieu? SQLite parantos dipasang, sareng PHP nuju jalan. Naha ekstensi na teu sayogi?

Jujur wé, mimitina mah kuring nyangka éta téh masalah ti Admin sorangan, jadi kuring sababaraha kali ngamimitian deui layanan éta jeung malah masang deui, tapi masalahna tetep waé aya. Engkéna, kuring sadar yén éta téh teu aya hubunganana jeung Admin; masalahna asalna tina kasalahan umum anu sering disanghareupan ku pamula.

Masalah éksténsi anu disababkeun ku mékanisme PHP multi-versi HestiaCP

HestiaCP ngadukung sababaraha vérsi PHP anu dijalankeun sacara babarengan.

Ieu hartina anjeun tiasa masang PHP 7.4, 8.0, 8.1, 8.2, sareng 8.3 dina server anjeun sacara babarengan, sareng situs wéb anu béda tiasa dihijikeun kana vérsi PHP anu béda. Sigana mah canggih pisan, sanés? Tapi ieu masalahna: nalika anjeun langsung ngetik...php -mNalika anjeun mariksa modulna, éta nganggo vérsi PHP standar sistem, anu tiasa bénten pisan sareng vérsi anu saleresna kaiket kana halaman wéb anjeun.

Kuring geus lila néangan jeung manggihan yén ramatloka kuring kaiket kana PHP 8.2, tapi terminalna némbongkeun 8.1. Teu anéh kuring teu manggihan modul sqlite-na.

Rarasaan ieu téh teu masuk akal pisan. Siga indit ka réstoran mesen dahareun, terus palayanna ngomong yén éta kadaharan teu sayaga. Tapi tétéla éta kadaharan téh teu sayaga, ngan saukur anjeun nu salah datang ka jalmana. Anjeun kudu ngobrol jeung dapur sangkan bisa dipaké.

Kumaha nangtukeun versi PHP anu dianggo ku situs wéb

Janten solusina saderhana: mimitina, anjeun kedah terang vérsi PHP mana anu dianggo ku halaman wéb anjeun, teras pasang éksténsi anu saluyu.

Léngkah munggaran nyaéta nangtukeun vérsi PHP mana anu dianggo ku situs anjeun.

Lebet ka backend HestiaCP, buka halaman wéb, milarian domain tempat anjeun masang Admin, klik édit, teras tingali kolom Versi PHP Server Wéb. Nomer anu dipidangkeun di dinya leres. Éta tiasa 8.1, 8.2, atanapi 8.3; anjeun kedah mastikeun nomer ieu heula.

Seueur jalmi anu ngalangkungan léngkah ieu, nganggap éta teu penting kumargi sadayana PHP. Tapi éta penting pisan; upami nomer vérsi henteu cocog, masang langkung seueur éksténsi moal ngabantosan.

Pasang vérsi anu saluyu tina éksténsi SQLite.

Léngkah kadua nyaéta masang vérsi anu saluyu tina éksténsi SQLite.

Sakali anjeun terang nomer vérsi na, anjeun tiasa masangna langsung nganggo manajer pakét sistem anjeun. Anggap situs anjeun nganggo PHP 8.2, maka:

apt update
apt install php8.2-sqlite3 -y

Upami situs anjeun nganggo vérsi 8.1 atanapi 8.3, robih waé nomer vérsi na.

Jujur wé, abdi teu yakin vérsi mana anu abdi gaduh, janten abdi ngan saukur masang anu umum:

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

Ku cara kieu, éta tiasa nutupan vérsi naon waé, ngahémat waktos sareng tanaga anjeun.

Pareuman terus hurungkeun deui layanan PHP-FPM supados ekstensi na tiasa dianggo.

Léngkah katilu nyaéta ngabalikan deui layanan PHP-FPM.

Ieu léngkah anu sering dipaliré ku seueur jalmi. Saatos masang éksténsi, aranjeunna langsung nga-refresh halaman, tapi tetep waé aya kasalahan. Sanés hartosna éksténsi éta teu acan dipasang; éta kusabab anjeun teu ngamimitian deui prosés PHP-FPM anu saluyu, sareng éksténsi anu nembé dipasang teu acan dimuat.

Paréntah ngamimitian deui:

systemctl restart php8.2-fpm
systemctl restart nginx

Anjeun tiasa ngarobih nomer vérsi numutkeun kaayaan anjeun anu saleresna.

Pariksa yén éksténsi SQLite parantos dipasang kalayan suksés.

Léngkah kaopat nyaéta pikeun mastikeunana.

Anjeun tiasa nangtukeun jalur vérsi PHP khusus pikeun dipariksa:

php8.2 -m | grep -i sqlite

Upami kaluaran ngandungpdo_sqliteatawasqlite3Éta hartosna pamasangan parantos suksés. Ayeuna, refresh halaman Administrator dina panyungsi anjeun, sareng pesen peringatan beureum kedahna ngaleungit.

Kitu carana kuring ngartos léngkah-léngkahna, ti mimitina mikir "Naon ieu téh?" nepi ka engké sadar "Oh, kitu," terus kuring nyimpang sababaraha léngkah sapanjang jalan. Masalah utama nyaéta desain PHP multi-versi HestiaCP memang rawan kasalahan; lamun anjeun teu wawuh jeung logikana, gampang pisan salah ti léngkah munggaran.

Aya nu nanya, kunaon HestiaCP dijieun rumit kitu? Naha urang teu tiasa nganggo hiji vérsi PHP anu terpadu? Desainna masuk akal; situs wéb anu béda-béda tiasa ngandelkeun fitur PHP anu béda-béda, sareng maksakeun vérsi anu seragam tiasa nyababkeun masalah kompatibilitas. Nanging, mékanisme ieu memang henteu ramah pangguna pikeun pamula, sareng henteu ditekenkeun sacara khusus dina dokuméntasi.

Pangalaman kuring sorangan nyaéta nalika nganggo panel sapertos HestiaCP, anjeun kedah ngembangkeun kabiasaan pikeun nangtoskeun heula vérsi PHP mana anu aya hubunganana sareng halaman wéb anjeun. Naha masang éksténsi, ngarobih konfigurasi, atanapi ngungkulan masalah, nomer vérsi ieu mangrupikeun titik awal anu paling penting. Seringna, naon anu anjeun pikirkeun masalah sareng layanan anu tangtu sabenerna ngan ukur henteu cocogna vérsi.

Kumaha ngagambarkeun rarasaan ieu? Siga anjeun mawa mobil anjeun pikeun diropéa, teras montir nyarios yén aranjeunna teu gaduh suku cadangna. Ternyata, aranjeunna gaduh, tapi anjeun angkat ka bengkel anu salah sareng anjeun kedah angkat ka bengkel gigireun. Sigana rada bodo, tapi kitu kanyataanna.

Muhun, sakitu waé pangalaman kuring dina ngarengsekeun kasalahan Administrator dina HestiaCP. Mugia ieu tiasa ngabantosan anjeun upami anjeun ngalaman masalah anu sami.

koméntar

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

Ngagulung ka luhur