Como habilito o SQLite no Linux / Apache / PHP?

12

Para ativar o SQLite na minha configuração do Windows / Apache / PHP, descomente as seguintes linhas no arquivo php.ini e reinicie o Apache:

extension=php_pdo.dll
extension=php_pdo_sqlite.dll

Agora eu tenho um VPS com o Suse Linux 10.3 e o Apache / PHP foi definido automaticamente. Examinando o arquivo php.ini para fazer as alterações acima, vejo que as coisas são um pouco diferentes no Linux:

  • não há lista de extensões para remover comentários
  • Encontrei " extension_dir = /usr/lib/php5/extensions", mas neste diretório localize apenas:
    • pdo.so
    • pdo_mysql.so

Como posso ativar o SQLite neste ambiente Linux?

Edward Tanguay
fonte
Aqui está um ótimo tutorial sobre como habilitar o sqlite em um ambiente linkyx : exteon.ro/en/articles/php . Espero que ajude!
Dinu 21/05

Respostas:

14

Não sei dizer exatamente como isso funcionaria. no mundo debian é:

apt-get install php5-sqlite

isso instalará a biblioteca necessária e adicionará /etc/php5/conf.d/sqlite.ini com

extension=sqlite.so

então primeiro - use o yum para ver a instalação do pacote necessário e, em seguida, adicione à linha php.ini acima.

EDIT: para php7 o comando é:

apt-get install php7.0-sqlite

O arquivo php.ini está localizado em: sudo nano /etc/php/7.0/apache2/php.inionde você precisa habilitar oextension=sqlite.so

pQd
fonte
O apt-get parece ser uma coisa do debian, existem soluções alternativas ( susewiki.org/index.php?title=Install-apt4suse ), mas estou procurando a solução mais simples aqui, deve haver uma maneira de apenas baixar e referenciar um biblioteca sqlite em Suse.
Edward Tanguay
yum é a maneira simples
Freiheit
ok, então eu converti meu VPS do Suse para o Debian Linux 4.0 Standard de 32 bits. Eu digito "apt-get install php5-sqlite" e ele diz "lendo listas de pacotes, construindo uma árvore de dependência ... não foi possível encontrar o pacote php5-sqlite". No /etc/php5/conf.d, existem outros 8 arquivos .ini, mas não o sqlite.ini. Por que não foi possível encontrar o pacote que eu preciso para executá-lo em um diretório específico? (Eu digito "yum" e diz que "-bash: yum: comando não encontrado".)
Edward Tanguay
O Debian usa o apt-get, o Suse oferece o yum (e talvez o zypper). Se o apt-get não conseguir encontrar o pacote, verifique se ele existe e verifique em quais repositórios você está /etc/apt/sources.liste /etc/apt/sources.list.d.
jldugger
no /etc/apt/sources.list.d Eu tenho um arquivo chamado "debian.list", mas não outros, posso apenas baixar a biblioteca de algum lugar e referenciá-la no php.ini como no Windows ou precisa ser baixado e instalado de alguma forma?
Edward Tanguay
5

Versão curta, mas pode estar errada, porque não sei em quais repositórios de pacotes o seu sistema está configurado:

yum install php5-sqlite

Versão longa:

yum search php sqlite

Ou procure apenas um:

yum search sqlite

Veja a lista que volta. Descobrir o que você precisa, então:

yum install whatever_package_looked_right_from_the_list
freiheit
fonte
+1: qualquer pacote parecia certo
Fox Wilson
1

O Linux Mint 12 estava ausente no sqlite e estava gerando o seguinte erro:

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

A melhor prática para mim foi fazer o download e descompactar sqlite.sopara/usr/lib/php5/20090626/

papai
fonte
Você pode substituir nattyno URL o nome da sua versão, como trusty.
Kimberly W
0

O suporte ao SQLite é ativado por padrão em uma compilação padrão do Linux PHP a partir do PHP 5.0.

Qual versão do PHP você usa? Você verificou a saída phpinfo () para ver se o SQLite está ativado? O SQLite será ativado, a menos que o

--disable-sqlite

O parâmetro é definido na sequência de caracteres de configuração.

Pierre-Yves Gillier
fonte