Pesan kesalahan admin "Tidak ada ekstensi PHP yang didukung"? Atasi kesalahan SQLite3/PDO_SQLite dalam 1 menit.

Apa yang harus dilakukan ketika administrator menampilkan pesan "Tidak ada ekstensi PHP yang didukung (SQLite3, PDO_SQLite)" saat membuka basis data SQLite? Artikel ini memberikan panduan langkah demi langkah tentang memodifikasi php.ini serta menginstal dan mengaktifkan ekstensi pdo_sqlite dan sqlite3. Memulai ulang layanan akan langsung berlaku. Atasi masalah dengan mudah dalam 1 menit!

Saya telah mengerjakan sesuatu selama beberapa hari terakhir, dan itu sangat membuat frustrasi sehingga saya hampir mempertanyakan keberadaan saya.

Aku disiniHestiaCPSaya menginstal Adminer, sebuah perangkat lunak manajemen basis data yang ringan, dan ingin menggunakannya untuk mengelola basis data SQLite saya. Namun, ketika saya membuka halaman tersebut, muncul pesan pop-up berwarna merah yang bertuliskan, "Tidak ada ekstensi PHP yang didukung (SQLite3, PDO_SQLite)".

Pesan kesalahan admin "Tidak ada ekstensi PHP yang didukung"? Atasi kesalahan SQLite3/PDO_SQLite dalam 1 menit.

Saya terkejut.

Apa maksudnya ini? Saya sudah menginstal SQLite, dan PHP sedang berjalan. Mengapa ekstensi tersebut tidak tersedia?

Sejujurnya, awalnya saya mengira masalahnya ada pada Admin itu sendiri, jadi saya memulai ulang layanan beberapa kali dan bahkan menginstalnya ulang, tetapi masalahnya tetap ada. Kemudian, saya menyadari bahwa itu tidak ada hubungannya dengan Admin; masalahnya berasal dari kesalahan umum yang sering dilakukan banyak pemula.

Masalah ekstensi yang disebabkan oleh mekanisme PHP multi-versi HestiaCP

HestiaCP mendukung beberapa versi PHP yang berjalan secara bersamaan.

Ini berarti Anda dapat menginstal PHP 7.4, 8.0, 8.1, 8.2, dan 8.3 di server Anda secara bersamaan, dan situs web yang berbeda dapat dihubungkan ke versi PHP yang berbeda. Kedengarannya cukup canggih, bukan? Tapi inilah masalahnya: ketika Anda mengetik langsung...php -mSaat Anda memeriksa modul tersebut, modul akan menggunakan versi PHP default sistem, yang mungkin sama sekali berbeda dari versi yang sebenarnya terikat pada situs web Anda.

Saya menghabiskan waktu lama mencari dan menemukan bahwa situs web saya terikat pada PHP 8.2, tetapi terminal menunjukkan 8.1. Pantas saja saya tidak dapat menemukan modul sqlite.

Perasaan ini sangat absurd. Ini seperti pergi ke restoran untuk memesan makanan, dan pelayan memberi tahu Anda bahwa hidangan itu tidak tersedia. Tetapi ternyata hidangan itu tidak tidak tersedia, Anda hanya salah orang. Anda harus berbicara dengan dapur agar hidangan itu bisa dipesan.

Cara menentukan versi PHP yang digunakan oleh sebuah situs web

Jadi solusinya sederhana: pertama, Anda perlu mencari tahu versi PHP apa yang digunakan situs web Anda, lalu instal ekstensi yang sesuai.

Langkah pertama adalah menentukan versi PHP yang digunakan situs Anda.

Masuk ke backend HestiaCP, buka halaman web, temukan domain tempat Anda menginstal Admin, klik edit, dan lihat kolom Versi PHP Server Web. Angka yang ditampilkan di sana adalah angka yang benar. Bisa jadi 8.1, 8.2, atau 8.3; Anda perlu mengkonfirmasi angka ini terlebih dahulu.

Banyak orang melewatkan langkah ini, berpikir bahwa itu tidak penting karena semuanya menggunakan PHP. Tetapi ini sangat penting; jika nomor versinya tidak cocok, menginstal lebih banyak ekstensi tidak akan membantu.

Instal versi ekstensi SQLite yang sesuai.

Langkah kedua adalah menginstal versi ekstensi SQLite yang sesuai.

Setelah mengetahui nomor versinya, Anda dapat menginstalnya langsung menggunakan pengelola paket sistem Anda. Dengan asumsi situs Anda menggunakan PHP 8.2, maka:

apt update
apt install php8.2-sqlite3 -y

Jika situs Anda menggunakan versi 8.1 atau 8.3, cukup ubah nomor versinya.

Jujur saja, saya tidak yakin versi mana yang saya miliki, jadi saya hanya menginstal versi yang umum:

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

Dengan cara ini, ia dapat mencakup versi apa pun, sehingga menghemat waktu dan tenaga Anda.

Restart layanan PHP-FPM agar ekstensi tersebut berlaku.

Langkah ketiga adalah memulai ulang layanan PHP-FPM.

Ini adalah langkah yang sering diabaikan banyak orang. Setelah memasang ekstensi, mereka langsung me-refresh halaman, tetapi tetap mendapatkan kesalahan. Bukan berarti ekstensinya belum terpasang; melainkan Anda belum me-restart proses PHP-FPM yang terkait, dan ekstensi yang baru dipasang belum dimuat.

Perintah restart:

systemctl restart php8.2-fpm
systemctl restart nginx

Anda dapat mengubah nomor versi sesuai dengan situasi Anda yang sebenarnya.

Pastikan ekstensi SQLite telah terpasang dengan sukses.

Langkah keempat adalah memverifikasinya.

Anda dapat menentukan jalur versi PHP tertentu untuk diperiksa:

php8.2 -m | grep -i sqlite

Jika outputnya berisipdo_sqliteatausqlite3Itu berarti instalasi berhasil. Sekarang, segarkan halaman Administrator di browser Anda, dan pesan peringatan merah akan hilang.

Begitulah cara saya memahaminya langkah demi langkah, dari awalnya berpikir "Apa ini?" hingga kemudian menyadari "Oh, saya mengerti," dan saya mengambil beberapa jalan memutar di sepanjang jalan. Masalah utamanya adalah desain PHP multi-versi HestiaCP memang rentan terhadap jebakan; jika Anda tidak terbiasa dengan logikanya, mudah untuk tersesat sejak langkah pertama.

Sebagian orang mungkin bertanya, mengapa HestiaCP dibuat begitu rumit? Bukankah kita bisa menggunakan satu versi PHP yang seragam? Desainnya masuk akal; situs web yang berbeda mungkin bergantung pada fitur PHP yang berbeda, dan memaksakan versi yang seragam dapat menyebabkan masalah kompatibilitas. Namun, mekanisme ini memang tidak terlalu ramah pengguna bagi pemula, dan tidak terlalu ditekankan dalam dokumentasi.

Berdasarkan pengalaman saya, saat menggunakan panel seperti HestiaCP, Anda harus membiasakan diri untuk terlebih dahulu mencari tahu versi PHP yang digunakan situs web Anda. Baik itu saat menginstal ekstensi, mengubah konfigurasi, atau memecahkan masalah, nomor versi ini adalah titik awal yang paling penting. Seringkali, apa yang Anda anggap sebagai masalah dengan layanan tertentu sebenarnya hanyalah ketidakcocokan versi.

Bagaimana menggambarkan perasaan itu? Rasanya seperti Anda membawa mobil Anda untuk diperbaiki, dan mekanik mengatakan mereka tidak memiliki suku cadangnya. Ternyata, mereka punya, tetapi Anda pergi ke bengkel yang salah dan Anda perlu pergi ke bengkel di sebelahnya. Kedengarannya agak konyol, tetapi memang seperti itulah kenyataannya.

Baiklah, demikianlah pengalaman saya dalam mengatasi kesalahan Administrator di HestiaCP. Semoga ini dapat membantu Anda jika mengalami masalah yang sama.

Harapan Chen Weiliang Blog ( https://www.chenweiliang.com/ Artikel "Adminer menampilkan pesan 'Tidak ada ekstensi PHP yang didukung'? Perbaiki kesalahan SQLite3/PDO_SQLite dalam 1 menit" yang dibagikan di sini mungkin bermanfaat bagi Anda.

Selamat datang untuk membagikan tautan artikel ini:https://www.chenweiliang.com/cwl-34411.html

Untuk mengungkap lebih banyak trik tersembunyi🔑, selamat datang untuk bergabung di saluran Telegram kami!

Bagikan dan sukai jika Anda menyukainya! Bagikan dan suka Anda adalah motivasi kami yang berkelanjutan!

 

发表 评论

Alamat email Anda tidak akan dipublikasikan. 必填 项 已 用 * 标注

Direktori Artikel
Gulir ke Atas