La gente de MySQL ha sacado a la luz unos drivers nativos de su base de datos para PHP. Una alternativa que solo funciona para PHP 6 y MySQL 4.1 o superior.
mysqlnd, que es como se llama esta librerÃa, es una sustitución de libmysql, pero no tienen intención de dejar de dar soporte a libmysql para evitar que aplicaciones anteriores fallen. Pero ofrecen novedades a tener en cuenta:
La licencia es PHP license, evitando posibles problemas de licencias.
mysqlnd a nivel C usa muchas funciones internas estables de PHP.
Todas las librerÃas esta almacenadas en el directorio ext/mysqli, por lo que no es necesario enlazar a librerÃas externas. Asà como no es necesario tener instalado el cliente de MySQL para compilar PHP con soporte para MySQL.
El rendimiento ha sido mejorado en varias zonas.
De todas formas, esta primera versión no está completa y se solo se han desarrollado las siguientes funcionalidades: conexiones persistentes, mysqli_fetch_all() y mysqli_get_cache_stats().
Para mí, uno de los mayores fracasos de Twitter es su API, una limitación de su uso increíble para algo que le podría dar mucho juego a la aplicación. Ahora mismo no sé en cuánto está el límite, pero la posibilidad de realizar una aplicación basada en Twitter es una pesadilla.
Para aquellos que no quieran sufrir lo que hemos sufrido con TwitterPoster (los espacios en blanco es porque la gente actualiza su imagen y no podemos recuperar la de todos los usuarios por el límite en el API de Twitter), les recomiendo usar Twitter mediante CURL.
Os paso un script sencillito que he realizado:
<?php
// Primer hacemos login
$url ="https://twitter.com/sessions";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
// Por si tienen limitación por navegador
curl_setopt($ch, curlOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
// Poned una ruta para las cookies
curl_setopt ($ch, CURLOPT_COOKIEJAR, '/temp/');
curl_setopt ($ch, CURLOPT_COOKIEFILE, '/temp/');
curl_setopt ($ch, CURLOPT_POSTFIELDS, "username_or_email=[usuario]&password=[contraseña]");
// Para que funcione el https
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, curlOPT_SSL_VERIFYHOST, 2);
curl_exec ($ch);
// Cargamos el home, porque Twitter añade dos campos ocultos para poder publicar por web
$url ="http://twitter.com/home";
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec ($ch);
// Recuperamos los campos ocultos
preg_match('//', $result, $match);
$authenticity_token = $match[1];
preg_match('//', $result, $match);
$siv = $match[1];
// Insertamos el texto
$res = $url ="http://twitter.com/status/update";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'siv='.$siv.'&authenticity_token='.$auth.'&status=[texto]');
curl_exec ($ch);
curl_close ($ch);
unset($ch);
?>
¿Qué fallo tiene este script? pues que si cambian el HTML (campos de formulario, …) o las URLs deja de funcionar, pero al menos no tenemos limitaciones. Eso sí, es más costoso para sus servidores y para los nuestros, porque en vez de hacer una llamada, hacemos 3, y en nuestro caso, a parte parseamos una página para obtener dos campos ocultos.
openark kit es una serie de scripts en Python que nos facilitará las tareas de DBA (sobre todo para aquellos que no es nuestro fuerte). Consta de las siguientes aplicaciones:
oak-apply-ri: aplica integridad referencial en dos columnas con relacion padre-hijo.
oak-block-account: bloquea cuentas de usuarios, o los habilita y deshabilita para logarse..
Swift Mailer es una potente librería que permite el envío de emails y que entre las características que ofrece, nos encontramos con: cabecera de control RFC 2822, internacionalización, balance de carga, soporte para SSL y TLS (para servidores GMail), imágenes embebidas, MIME 1.0 (adjuntos, …), y mucho más. Swift Mailer
Gracias Óscar por el aviso.
Zend, los creadores de PHP, han lanzado la versión 3 de su producto Zend Plataform, un servidor pensado para empresas ejecuten sus aplicaciones realizadas en PHP.
La nueva versión ofrece un clustering más robusto, una aplicación de monitorización que usa el protocolo SNMP para conectarse a otras aplicaciones. A parte incluye el software opensource Business Intelligence and Reporting Tools (BIRT) para la generación de informes.
Esto puede ser un paso para que las empresas usen PHP para la creación de sus aplicaciones, sustituyendo asà a Java u otros lenguajes. Zend bulks up PHP app server for business
Scalable BLOB Streaming para MySQL es un plugin que transforma MySQL en un servidor capaz de enviar por streaming imágenes, pelÃculas, mp3s y otros ficheros directamente desde la base de datos.
Entre las ventajas que nos oferce, encontramos las siguientes:
Almacenar BLOBs de cualquier tamaño, actualmente solo se pueden almacenar dependiendo de lo que pueda tratar la memoria.
Enviar y recibir mediante streaming directamente de la base de datos.
Válido para cualquier sistema de almacenamiento MySQL
Provee un API estándar para desarrollar aplicaciones, que extiende al actual API.
Para acceder al contenido tan solo es necesario realizar una llamada HTTP: