RedHat Enterprise Linux 5 or CentOS 5 sqlite extension install
Super User - root
shell> mkdir temp
shell> cd temp
shell> wget http://pecl.php.net/get/SQLite-1.0.3.tgz
shell> tar zxvf SQLite-1.0.3.tgz
shell> cd SQLite-1.0.3
sqlite.c patch
--- sqlite.c.orig 2004-07-18 19:23:18.000000000 +0900
+++ sqlite.c 2009-04-08 01:39:40.000000000 +0900
@@ -53,7 +53,9 @@
extern int sqlite_encode_binary(const unsigned char *in, int n, unsigned char *out);
extern int sqlite_decode_binary(const unsigned char *in, unsigned char *out);
+/*
static unsigned char arg3_force_ref[] = {3, BYREF_NONE, BYREF_NONE, BYREF_FORCE };
+*/
static int le_sqlite_db, le_sqlite_result, le_sqlite_pdb;
@@ -122,8 +124,8 @@
enum { PHPSQLITE_ASSOC = 1, PHPSQLITE_NUM = 2, PHPSQLITE_BOTH = PHPSQLITE_ASSOC|PHPSQLITE_NUM };
function_entry sqlite_functions[] = {
- PHP_FE(sqlite_open, arg3_force_ref)
- PHP_FE(sqlite_popen, arg3_force_ref)
+ PHP_FE(sqlite_open, third_arg_force_ref)
+ PHP_FE(sqlite_popen, third_arg_force_ref)
PHP_FE(sqlite_close, NULL)
PHP_FE(sqlite_query, NULL)
PHP_FE(sqlite_exec, NULL)
shell> phpize
shell> ./configure
shell> make && make install
shell> ls -l /usr/lib/php/modules/sqlite.so
-rwxr-xr-x 1 root root 871225 Apr 7 18:07 /usr/lib/php/modules/sqlite.so
shell> cd /etc/php.d
shell> vi sqlite.ini
; Enable sqlite extension module
extension=sqlite.so
:wq
Web Server Restart
phpinfo.php
<?php
phpinfo();
?>
sqlite
SQLite support enabled
PECL Module version 1.0.3 $Id: sqlite.c,v 1.62.2.25 2004/07/10 12:25:33 wez Exp $
SQLite Library 2.8.14
SQLite Encoding iso8859
Directive Local Value Master Value
sqlite.assoc_case 0 0
Instalação
Leia o arquivo INSTALL, o qual vem com o pacote. Ou apenas use o instalador PEAR com pecl install sqlite. SQLite em sí já esta incluído. Você não precisa instalar qualquer software adicional.
Usuários do Windows precisará habilitar php_sqlite.dll dentro do php.ini para usar estas funções. Uma DLL para esta extenção PECL esta atualmente indisponível. Veja também a seção compilando no Windows section.
No PHP 5, a extensão SQLite e a engine em sí são embutidos e compilados por padrão. Entretanto, desde PHP 5.1.0 você precisa ativar manualmente a extensão no php.ini (porque agora é embutido como compartilhado). Entretanto, desde o PHP 5.1.0 o SQLite depende de PDO, ele deve ser ativado também, adicionando as seguintes linhas no php.ini (em ordem):
extension=php_pdo.dll extension=php_sqlite.dll
Em sistemas operacionais Linux ou Unix, se você fizer o PDO como uma extensão compartilhada, você deve fazer o SQLite como uma extensão compartilhada usando a opção de configuração --with-sqlite=shared.
SQLite 3 é suportado atráves de PDO SQLite.
Nota: Instalação em Windows para contas sem privilégio
Em sistemas operacionais Windows, contas sem privilégios não tem a variável de ambiente TMP definida pro padrão. Isto irá fazer o SQLite criar arquivos temporários no diretório do windows, o que não é desejável. Assim, você deve definir a variável de ambiente TMP para o servidor web ou para a conta de usuário sobre a qual o servidor web esta sendo utilizado. Se o Apache for o seu servidor WEB, você pode fazer isto com uma diretiva SetEnv no seu arquivo httpd.conf. Por exemplo:SetEnv TMP c:/tempSe você não pode fazer isto definindo a nível de servidor, você pode implementar isso no seu script:
putenv('TMP=C:/temp');Esta configuração deve se referir a um diretório que o servidor web tem permissão para criar arquivos e subsequentemente escrever e excluir arquivos que criou. Se não, você vai receber o seguinte mensagem de erro: malformed database schema - unable to open a temporary database file for storing temporary tables
Instalação
07-Apr-2009 04:55
