Bagaimana cara mengaktifkan SQLite di Linux / Apache / PHP?

12

Untuk mengaktifkan SQLite pada pengaturan Windows / Apache / PHP saya, saya batalkan komentar pada baris berikut di file php.ini dan restart Apache:

extension=php_pdo.dll
extension=php_pdo_sqlite.dll

Sekarang saya punya VPS dengan Suse Linux 10.3 dan Apache / PHP diatur secara otomatis. Melihat melalui file php.ini untuk membuat perubahan di atas, saya melihat bahwa ada sedikit perbedaan di Linux:

  • tidak ada daftar ekstensi untuk tanda komentar
  • Saya menemukan " extension_dir = /usr/lib/php5/extensions" tetapi dalam direktori ini hanya menemukan:
    • pdo.so
    • pdo_mysql.so

Bagaimana saya bisa mengaktifkan SQLite di lingkungan Linux ini?

Edward Tanguay
sumber
inilah tutorial yang bagus tentang cara mengaktifkan sqlite di lingkungan linkyx : exteon.ro/en/articles/php . Semoga ini bisa membantu!
Dinu

Jawaban:

14

saya tidak tahu bagaimana tepatnya untuk suse ini akan bekerja. di dunia debian itu:

apt-get install php5-sqlite

ini akan menginstal pustaka yang diperlukan dan menambahkan /etc/php5/conf.d/sqlite.ini dengan

extension=sqlite.so

jadi pertama - gunakan yum untuk melihat instal paket yang dibutuhkan, kemudian tambahkan ke baris php.ini di atas.

EDIT: untuk php7 perintahnya adalah:

apt-get install php7.0-sqlite

dan file php.ini terletak di: di sudo nano /etc/php/7.0/apache2/php.inimana Anda harus mengaktifkanextension=sqlite.so

pQd
sumber
apt-get tampaknya menjadi hal yang debian, ada solusi ( susewiki.org/index.php?title=Install-apt4suse ) tapi saya sedang mencari solusi paling sederhana di sini, pasti ada cara untuk mengunduh dan mereferensikan perpustakaan sqlite di Suse.
Edward Tanguay
yum adalah cara sederhana
freiheit
ok jadi saya mengonversikan VPS saya dari Suse ke Debian Linux 4.0 Standard 32-Bit. Saya mengetik "apt-get install php5-sqlite" dan ia mengatakan "membaca daftar paket, membangun pohon dependensi ... tidak dapat menemukan paket php5-sqlite". Di /etc/php5/conf.d ada 8 file .ini lainnya tetapi tidak sqlite.ini. Kenapa tidak bisa menemukan paket yang harus saya jalankan dari direktori tertentu? (Saya mengetik "yum" dan tertulis "-bash: yum: command not found".)
Edward Tanguay
Debian menggunakan apt-get, Suse menawarkan yum (dan mungkin zypper). Jika apt-get tidak dapat menemukan paket, periksa apakah ada dan periksa repositori mana yang Anda miliki /etc/apt/sources.listdan /etc/apt/sources.list.d.
jldugger
di /etc/apt/sources.list.d Saya memiliki satu file bernama "debian.list" tetapi tidak ada yang lain, dapatkah saya mengunduh perpustakaan dari suatu tempat dan merujuknya di php.ini seperti di Windows, atau apakah perlu diunduh dan diinstal entah bagaimana?
Edward Tanguay
5

Versi singkat, tetapi mungkin salah karena saya tidak tahu paket repositori apa yang diatur oleh sistem Anda:

yum install php5-sqlite

Versi panjang:

yum search php sqlite

Atau cari saja:

yum search sqlite

Lihatlah daftar yang muncul kembali. Cari tahu apa yang Anda butuhkan, kemudian:

yum install whatever_package_looked_right_from_the_list
freiheit
sumber
+1: paket apa pun yang tampak benar
Fox Wilson
1

Linux Mint 12 hilang sqlite dan menghasilkan galat berikut:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/sqlite.so' - /usr/lib/php5/20090626/sqlite.so: cannot open shared object file: No such file or directory in Unknown on line 0

Praktik terbaik bagi saya itu adalah untuk men-download dan membongkar sqlite.soke/usr/lib/php5/20090626/

ayah
sumber
Anda dapat mengganti nattydi URL dengan nama versi Anda, seperti trusty.
The Unknown Dev
0

Dukungan SQLite diaktifkan secara default pada kompilasi PHP Linux standar yang dimulai dengan PHP 5.0.

Versi PHP mana yang Anda gunakan? Apakah Anda memeriksa output phpinfo () untuk melihat apakah SQLite diaktifkan? SQLite akan diaktifkan kecuali

--disable-sqlite

parameter diatur dalam configure string.

Pierre-Yves Gillier
sumber