May.18.2005 vtamara@pasosdeJesus.org

Actualizar a PHP4.3.11:

$ sudo pkg_delete -f dependencies php4-core
$ export PKG_PATH=ftp://pasosdeJesus.org/pub/AprendiendoDeJesus/progreso/paquetes/
$ sudo pkg_add $PKG_PATH/php4-extensions-4.3.11.tgz
$ sudo phpxs -s
$ sudo pkg_add $PKG_PATH/php4-pear-4.3.11.tgz

Instalar y activar otras extensiones que requiere por ejemplo:

$ sudo pkg_add $PKG_PATH/php4-pgsql-4.3.11.tgz
$ sudo phpxs -a pgsql

Descargar sqlite.so que ya compilamos:

$ ftp  ftp://pasosdeJesus.org/pub/AprendiendoDeJesus/progreso/pear-php4.3.11/sqlite.so
$ sudo mv sqlite.so /var/www/lib/php/modules/

Parece que pearcmd.php del paquete PEAR tiene una falla, compilamos modificandolo para que sacara una copia del directorio donde quedaba la librería antes de salir (cuando sale la borra).

Agregar a /var/www/conf/php.ini:

extension="sqlite.so"

y reiniciar Apache con las mismas opciones con las que arranca:

$ sudo apachectl stop
$ . /etc/rc.conf.local
$ sudo httpd $httpd_flags

Puede probarse con el siguiente script que crea ejemplo.db:

 'Wez Furlong',
                'helly?php' => 'Marcus Boerger',
                'derick?php' => 'Derick Rethans',
                // sorry to all the other PHP developers
                // for not listing them here too...
        );
        foreach ($data as $email => $name) {
                $email = sqlite_escape_string($email);
        foreach ($data as $email => $name) {
                $email = sqlite_escape_string($email);
                $name = sqlite_escape_string($name);
                sqlite_query($db,
                "INSERT INTO sample(email, name) "
                ."VALUES ('$email', '$name')");
        }
        // Now pull it out again
        $res = sqlite_query($db, "SELECT name, email from sample");
        if (!$res) {
                // This shouldn't happen :)
                echo "No data";
        } else {
                while ($row = sqlite_fetch_array($res)) {
                        echo "row: $rowname? -> $rowemail?\n";
                }
        }
?>

Y desde la línea de comandos:

$ php prueba-sqlite.php
row: Wez Furlong -> wez?php
row: Marcus Boerger -> helly?php
row: Derick Rethans -> derick?php

Finalmente pude instalar DB de Pear:

$ sudo pear install DB

y si ya hizo la prueba anterior puede complementarla con:

 2, 
        'portability' => DB_PORTABILITY_ALL?,
);

$db =& DB::connect($dsn, $options);
if (PEAR::isError($db)) { 
        die($db->getMessage());
}

$res = $db->query("SELECT name, email from sample");
$row=array();
while ($res->fetchInto($row)) {
        echo "row: $row0? -> $row1?\n";
}

$db->disconnect();

?>

ejecutando desde la línea de comandos:

$ php prueba-sqlite-db.php
row: Wez Furlong -> wez?php 
row: Marcus Boerger -> helly?php
row: Derick Rethans -> derick?php