Cómo debuggear un script de CLI con XDebug y PhpStorm

Es muy común (al menos a mi me pasa muy seguido :)) encontrarse con la necesidad de escribir scripts que deberán ser ejecutados por la línea de comandos (Por ejemplo, cronjobs) dentro del contexto de una aplicación web. Hasta hace poco tenía muy claro cómo debuggear un script que ejecutaba a través del webserver, pero… Seguir leyendo Cómo debuggear un script de CLI con XDebug y PhpStorm

Cómo autenticar usuarios en una aplicación web con PHP

Este es un tema que suele causar bastante confusión en la gente que se enfrenta con este problema por primera vez… hay tantos usuarios/passwords/niveles de autenticación que si no se presta mucha atención es fácil perderse. Lo principal es entender que la autenticación es un proceso de comunicación entre dos entidades: Un cliente Un servidor… Seguir leyendo Cómo autenticar usuarios en una aplicación web con PHP

Cómo autenticar usuarios con redes sociales en PHP

Algo que se ha puesto bastante de moda últimamente es la posibilidad de logearse en un sitio cualquiera usando un usuario creado para otro (Por ejemplo, logearte a StackOverflow usando tu Gmail o a Clarin usando tu Facebook). Este enfoque presenta varias ventajas: Para el usuario significa no tener que inventar (¡y recordar!) una contraseña más y,… Seguir leyendo Cómo autenticar usuarios con redes sociales en PHP

Cómo autenticar usuarios vía HTTP usando PHP

La autenticación a nivel de HTTP se activa mediante la configuración del webserver. Es el nivel más bajo de autenticación que puede tenerse en un entorno web, ya que lo que va a verificar es que el cliente que solicita un determinado recurso (URI) tenga acceso a él, antes de hacer ningún otro tipo de verificación.… Seguir leyendo Cómo autenticar usuarios vía HTTP usando PHP

Cómo guardar una imagen en una base de datos

Un clásico problema de una aplicación web es el almacenamiento de archivos subidos por los usuarios (Sus fotos por ejemplo). Si bien teóricamente se puede realizar sin mayores inconvenientes (Al fin y al cabo, un archivo digital no es más que una colección de datos binarios), es sumamente ineficiente hacerlo. Veamos cómo sería esto: Primero… Seguir leyendo Cómo guardar una imagen en una base de datos

¿Cuál es el mejor hosting para PHP y Mysql?

Tu aplicación está lista para abrirla al mundo, ¡felicitaciones! Ahora hay una pregunta ineludible: ¿dónde la vas a alojar? Es tentador usar un hosting compartido y que otro se encargue de la infraestructura, ¿no? Más aún si es gratuito… pero ¿qué pasa cuando se necesita algo más? No es para nada raro enfrentarte a situaciones… Seguir leyendo ¿Cuál es el mejor hosting para PHP y Mysql?

Un sistema de caché distribuido en PHP

Hace un tiempo, cuando trabajaba para una gran .com del rubro turismo, surgió un escenario muy interesante que teníamos que resolver junto con mi equipo: Teníamos un servidor de bases de datos que daba soporte a siete servidores que hacían de FrontEnd. Nuestra aplicación era php puro (con un «framework» desarrollado in-house… muy mala idea)… Seguir leyendo Un sistema de caché distribuido en PHP

Dónde almacenar la configuración de una aplicación PHP de forma segura

Una pregunta que me llegó de un amigo que viene del mundo .Net (Que parece ser un poco más organizado o estandarizado que el nuestro :). Lo primero que deberíamos preguntarnos es de qué nos estamos queriendo proteger. Por lo general, la posibilidad de que alguien externo a nuestra organización tenga acceso a la configuración de… Seguir leyendo Dónde almacenar la configuración de una aplicación PHP de forma segura

Cómo acceder a Google Drive usando PHP

El escenario que voy a analizar es este: Una aplicación desarrollada en PHP requiere acceder a archivos que sus usuarios tienen almacenados en sus propios documentos en Google Drive. Configuración de la API De Google 1. Crear un proyecto en Google (yendo a https://console.developers.google.com/apis/credentials): Habilitar el acceso a la API via OAuth (https://console.developers.google.com/apis/api/drive/overview?project=MI_PROYECTO): Crear las credenciales de acceso… Seguir leyendo Cómo acceder a Google Drive usando PHP