PHP에서 sqlite3를 활성화하는 방법은 무엇입니까?


92

Ubuntu에 PHP 용 sqlite3를 설치하려고합니다.

sqlite3 확장을 포함하도록 설치 apt-get php5-sqlite3하고 편집 php.ini했습니다.

내가 실행할 때 phpinfo();내가 얻을

SQLITE3
SQLite3 support  enabled  
sqlite3 library version  3.4.2  

위와 같이 sqlite3활성화됩니다. 그러나 사용할 때 "Class SQLite3 not found"가 표시됩니다.

 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

우분투 형식 에서 찢어 졌습니다.


3
마지막 두 번째 명령은 sudo checkinstall(실행 후 sudo apt-get install checkinstall. 사용하지 않을 경우 패키지 관리자가있는 OS를 사용하는 이유는 무엇입니까?
Brendan Long

25
이것은 이제 구식 조언입니다. 예 : forum.linode.com/viewtopic.php?p=39974
momeara

1
이 답변을 삭제하십시오! 이되는 방법은 아래에 답하고, 투표는 강력하게 백업 나은!
Charney Kaye

나는 매우 눈에 띄는 '이건 건너 뛰기'종류의 편집으로 차선책을했다.
kiswa

4
그것은이다 apt-get install php5-sqlite2015 년 오늘
Deproblemify

236

시험:

apt-get install php5-sqlite

그것은 나를 위해 일했습니다.


28
php5-sqlite3 패키지는 더 이상 존재하지 않습니다.
momeara

2
확실히 가장 쉬운 솔루션입니다.
gustafbstrom 2013

5
또는, CentOS는의 경우,sudo yum install php-sqlite3 -y
dynamitereed

5
이것은 또한 /etc/php5/apache2/conf.d에 PHP 구성 파일을 추가했습니다. 변경 사항을 적용하려면 어떤 이유로 든 다시 시작해야했지만 Apache도 다시 시작되었습니다.
EK0

12
또는 Ubuntu 16.0.4 Xenial의 경우sudo apt install php-sqlite3
Ejaz

34

PHP7의 경우

sudo apt-get install php7.0-sqlite3

Apache를 다시 시작하십시오.

sudo apache2ctl restart

6
PHP 7.2 sudo apt-get install php7.2-sqlite
Salem

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
우분투 14.04에 적어도,이 단계는 이미 존재하는 한, 필요하지 않습니다 sqlite3.ini같은/etc/php5/mods-available/sqlite3.ini
Hibou57


4

SQLite3 PDO 드라이버의 이름은 SQLite3가 아니라 SQLite이므로 다음을 수행 할 수 있습니다.

new SQLite("database");

SQLite2 데이터베이스의 경우 :

new SQLite2("database");

3

추가하고 싶은 한 가지, 설치하기 전에

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는 구성 변경 사항을 알아야한다고 생각합니다. 필요한 소프트웨어를 설치하는 것만으로는 질문에 답할 수 없습니다.
mtk

이 명령에주의하십시오! 실제로 작동 할 수 있지만 "php5"로 시작하는 모든 패키지를 제거하고 제거 할 것임을 알리는 것이 유용 할 입니다. 즉, 핵심 파일과 구성 파일을 모두 제거합니다.
adelriosantiago

이것은 나를 위해 일했습니다 !!! 이 모든 것을 정리하고 다시 설치하는 것은 좋았습니다 .... 마지막 두 번째 명령 인 install php-sqlite .....를 제외하고는 두 번째 명령에서 발생하는 것과 똑같은 일입니까? 어쩌면 그것은 어떤 경우에 필요한, 그러나 나를 위해 아무것도 할 것 같지 않았다
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

데비안 배포판 용. 적절한 소스에 데비안 주 저장소를 추가 할 때까지 아무것도 작동하지 않았습니다 (어떻게 제거되었는지 모르겠습니다). 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/lib라고 libsqlite3.so.0할 점은 libsqlite3.so.0.8.6. 내가 알 수있는 한 php7.3- * 패키지를 통해 설치되었습니다.

필요한 경우 파일 이름을 변경했습니다. 명령으로 :

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 용 Windows 하위 시스템 버전 1 (WSL1)에서 SQlite 용 (파일) 잠금 시스템이 손상되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.