Ya se lo que quieres hacer... en fin voy a poner yo un ejemplo.
Zend Framework Ubuntu y XAMPP
Versiones
Xampp la estable que encuentres
Ubuntu 5.10
Zend Framework 0.13
Empezamos. Primero me instalo el xampp
Código:
sudo tar xvfz xampp-linux-XXX.tar.gz -C /opt
puesta en marcha...
Código:
sudo /opt/lampp/lampp start
y miro que todo este correcto. Hago el phpinfo();
Código:
PHP Version 5.1.1 <-- Perfecto con esta version funciona Zend
Apache 2.0 Handler <-- Me mola tu rollo
mod_rewrite <-- genial xampp bien por vosotros
PDO drivers mssql, mysql, sqlite2 <--- perfecto ya biene con mysql
(dios mio creo que hago menos esfuerzo con linux que con windows... que está pasando)
Ahora voy al phpMyadmin
Código:
MySQL 5.0.18 <-- mmmm no tiene activado INNODB con lo que me mola
Pues ya estamos preparados. Aunque yo quiero INNODB así que voy a la configuracion de mysql my.cnf y lo arreglo jujuju ya lo tengo.
Precaución!!!
vamos a asegurarnos en el php.ini
Código:
memory_limit = 8M <--- Si te aparece esto te aconsejo que lo subas a 32M aunque con 16M va que chuta.
creo una base de datos de prueba
Código:
CREATE DATABASE `prueba` ;
CREATE TABLE `mensajes` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`titulo` VARCHAR( 255 ) NOT NULL ,
`mensaje` TEXT NOT NULL ,
`autor` VARCHAR( 255 ) NOT NULL ,
`fecha` DATETIME NOT NULL
) TYPE = innodb;
INSERT INTO `mensajes` ( `id` , `titulo` , `mensaje` , `autor` , `fecha` )
VALUES (
NULL , 'Mensaje de prueba', 'Este es un mensaje de prueba', 'Casuis', '2006-06-08 00:42:25'
), (
NULL , 'Otro mensaje', 'segundo mensaje de prueba', 'Maria', '2006-06-16 00:42:46'
);
Bien ahora solo queda configurar Zend.
Creo una carpeta "prueba" a tu gusto pro ejemplo: /usr/local/web/prueba
y luego el añadimos el host en /etc/hosts 127.0.0.1 prueba
Miramos el httpd.conf y añadimos el virtual directory
Código:
<VirtualHost *:80>
ServerName prueba
DocumentRoot "/usr/local/web/prueba"
DirectoryIndex index.php
<Directory "/usr/local/web/prueba">
AllowOverride All
Allow from all
</Directory>
</VirtualHost>
hacemos un restart al xampp
Código:
sudo /opt/lampp/lampp restart
Añado el .htaccess dentro del directorio prueba
Código:
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
php_value include_path "lib"
creo un subdirectorio lib y le añado el framework.
creo un archivo index.php y pongo el siguiente codigo:
Código PHP:
require_once 'Zend/Db.php';
$params = array ( 'host' => 'localhost',
'username' => 'casuis',
'password' => 'casuis',
'dbname' => 'prueba');
$db = Zend_Db::factory('pdoMysql', $params);
require_once 'Zend/Db/Table.php';
Zend_Db_Table::setDefaultAdapter($db);
class Mensajes extends Zend_Db_Table {}
$table = new Mensajes();
$db = $table->getAdapter();
$where = $db->quoteInto("autor = ?","Casuis");
$order = "autor";
$row = $table->fetchRow($where, $order);
echo $row->titulo."<br />";
echo $row->autor."<br />";
Igual que tu no? pues ahora voy a localhost/prueba y la salida de pantalla...
Pues entonces si que va. No hay ningun problema haz un repaso de que cumples los requisitos, el nombre de la base de datos esta bien tienes permisos etc. porque luego el codigo es simple.