PHPでsqlite3を有効にする方法は?


91

UbuntuにPHP用のsqlite3をインストールしようとしています。

インストールし、sqlite3拡張機能を含めるようapt-get php5-sqlite3に編集php.iniしました。

私が走るphpinfo();と私は

SQLITE3
SQLite3 support  enabled  
sqlite3 library version  3.4.2  

上記のように、sqlite3有効になります。しかし、使用すると「クラスSQLite3が見つかりません」というメッセージが表示されます

 new SQLite3("database");

回答:


38

編集:この回答は古くなっていますが、承認されているため削除できません。正解については、Stacey Richardsのソリューションをご覧ください。

 sudo apt-get install php5-cli php5-dev make
 sudo apt-get install libsqlite3-0 libsqlite3-dev
 sudo apt-get install php5-sqlite3
 sudo apt-get remove php5-sqlite3
 cd ~
 wget http://pecl.php.net/get/sqlite3-0.6.tgz
 tar -zxf sqlite3-0.6.tgz
 cd sqlite3-0.6/
 sudo phpize
 sudo ./configure
 sudo make
 sudo make install
 sudo apache2ctl restart

ubuntuフォームからリッピング


3
最後から2番目のコマンドはsudo checkinstall(を実行しsudo apt-get install checkinstallた後)にする必要があります。使用しないのに、なぜパッケージマネージャーでOSを使用するのですか?
Brendan Long

25
これは今では時代遅れのアドバイスです。例:forum.linode.com/viewtopic.php
p

1
この回答を削除してください!ある方法で、より良い以下の答えは、との票は強く、それをバックアップ!
Charney Kaye

私は非常に目に見える「これをスキップする」種類の編集で次善の策を実行しました。
キスワ2014

4
それはapt-get install php5-sqlite2015年の今日
問題を解消

236

試してください:

apt-get install php5-sqlite

それでうまくいきました。


28
php5-sqlite3パッケージはもう存在しません。
モメラ2012年

2
間違いなく最も簡単なソリューションです。
gustafbstrom 2013

5
または、CentOSの場合、sudo yum install php-sqlite3 -y
2014年

5
これにより、/ etc / php5 / apache2 / conf.dにPHP構成ファイルも追加されました。Apacheを再起動することさえありましたが、何らかの理由で変更を有効にするために再起動する必要がありました。
EK0

12
または、Ubuntuの16.0.4 Xenialの場合は、sudo apt install php-sqlite3
Ejaz

33

PHP7の場合は、

sudo apt-get install php7.0-sqlite3

そしてApacheを再起動します

sudo apache2ctl restart

6
PHP 7.2 sudo apt-get install php7.2-sqlite
セーラム

15

承認された回答は、以下にリンクされているフォーラムスレッドからの残りの指示(以下で言い換え)がないと完全ではありません。

cd /etc/php5/conf.d

cat > sqlite3.ini
# configuration for php SQLite3 module
extension=sqlite3.so
^D

sudo /etc/init.d/apache2 restart

php.confファイルも変更する必要があると思いましたか?
marciokoko

1
Ubuntuの14.04上に、少なくとも、このステップは、すでに存在しているとして、必要とされていないsqlite3.iniなど/etc/php5/mods-available/sqlite3.ini
Hibou57


4

SQLite3 PDOドライバーの名前はSQLite3ではなくSQLiteであるため、次のことができます。

new SQLite("database");

SQLite2データベースの場合:

new SQLite2("database");

3

インストールする前に、追加したいことの1つ

apt-get install php5-sqlite

または

apt-get install php5-sqlite3 

指定されたパッケージが利用可能かどうかを検索します:-

 # apt-cache search 'php5'

その後、あなたは得る:-

php5-rrd - rrd module for PHP 5

php5-sasl - Cyrus SASL extension for PHP 5

php5-snmp - SNMP module for php5

**php5-sqlite - SQLite module for php5**

php5-svn - PHP Bindings for the Subversion Revision control system

php5-sybase - Sybase / MS SQL Server module for php5

ここでは、バージョンがサポートされているかどうかについてのアイデアが得られます..私のシステムではphp5-sqlite-php5のSQLiteモジュールを取得している ので、インストールすることを好みます

**apt-get install php5-sqlite**

2
sudo apt-get install php5-cli php5-dev make

sudo apt-get install libsqlite3-0 libsqlite3-dev

sudo apt-get install php5-sqlite3

sudo apt-get remove php5-sqlite3

cd ~

wget http://pecl.php.net/get/sqlite3-0.6.tgz

tar -zxf sqlite3-0.6.tgz

cd sqlite3-0.6/

sudo phpize

sudo ./configure

それでうまくいきました。


1

これを試して:

sudo apt-get --purge remove php5*
sudo apt-get install php5 php5-sqlite php5-mysql
sudo apt-get install php-pear php-apc php5-curl
sudo apt-get autoremove
sudo apt-get install php5-sqlite
sudo apt-get install libapache2-mod-fastcgi php5-fpm php5

3
OPはいくつかの設定変更を知る必要があると思います。必要なソフトウェアをインストールするだけでは問題は解決しません。
2013年

これらのコマンドに注意してください!これは実際に機能する可能性がありますが、「php5」で始まるすべてのパッケージが削除およびパージされることを通知すると便利です。つまり、コアファイルと構成ファイルの両方が削除されます。
adelriosantiago

これは私のために働きました!!! これらのすべてをクリーンアップしてから再インストールすることは良かったです。...最後から2番目のコマンドinstall php-sqliteを除いて、それは2番目のコマンドで発生するものと同じですか?場合によっては必要になるかもしれませんが、私には何もしなかったようです
rikkitikkitumbo

1

Centos 6.7では、私の場合、ライブラリファイル/usr/lib64/php/modules/sqlite3.soがありませんでした。

yum install php-pdo 

vim /etc/php.d/sqlite3.ini
; Enable sqlite3 extension module
extension=sqlite3.so

sudo service httpd restart

1

のみ使用:

sudo apt-get install php5-sqlite

以降

sudo service apache2 restart

0

PHPのバージョンによって異なります。php7.0の場合、次のコマンドが機能します
sudo apt-get install php7.0-sqlite3
。Apacheサーバーを再起動します。
sudo service apache2 restart


0

Debianディストリビューション用。aptソースにdebianメインリポジトリを追加するまで、何も機能しませんでした(どのように削除されたかはわかりません)。 sudo vi /etc/apt/sources.list

と追加されました

deb  http://deb.debian.org/debian  stretch main
deb-src  http://deb.debian.org/debian  stretch main

その後sudo apt-get update(あなたもアップグレードできます)そして最後にsudo apt-get install php-sqlite3


0

これはここで溺れるでしょうが、私はこれで私の問題を修正しました:

私が見つけた限りでは、を指す/usr/local/libcalledに不完全なファイルがあります。私の知る限り、php7.3- *パッケージを通じてインストールされています。libsqlite3.so.0libsqlite3.so.0.8.6

何かに必要な場合に備えて、ファイルの名前を変更しました。コマンドで:

cd /usr/local/lib sudo mv libsqlite3.so.0 ./libsqlite3.so.0.back

ただし、削除することもできます。 rm libsqlite3.so.0

私を答えに導くスレッド:リンク

これは私の問題を解決しました、そして私はそれらがあなたの問題も解決することを願っています


0

php-7.2、php-7.3、php-7.4のDebian / Ubuntu方法(例:[234]一部)

sudo apt install php7.[234]-sqlite
sudo phpenmod sqlite3

Linuxバージョン1(WSL1)のWindowsサブシステムでは、SQliteの(ファイル)ロックシステムが壊れていることに注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.