PHP

  • Aumentar el tiempo límite de ejecución de scripts PHP

    A veces es necesario procesar grandes archivos en PHP y los scripts superan el tiempo límite de ejecución. PHP tal vez no es la manera más eficiente de deprocesar un archivo, pero su codificación es más sencilla y rápida. Para evitar que el script llege al timeout, es necesario incrementar el tiempo límite de ejecución para procesar un script específico.

  • Autenticación con LDAP en PHP

    Este artículo explica cómo autenticar contra un servidor LDAP desde PHP. De yapa explica cómo enviar datos de un formulario a través del método POST de HTTP utilizando JavaScript puro.

  • Cómo cambiar la versión de PHP en Apache

    Supongamos que tenemos un servidor Web LAMP (típicamente Linux+Apache+PHP+MySQL/MariaDB) con Apache y diferentes versiones de PHP instaladas y necesitamos cambiar la versión de PHP en uso por Apache (por ejemplo necesitamos pasar de PHP 5.6 a PHP 7.0). Este artículo explica los simples pasos para llevar a cabo esta tarea.

  • Cómo comprobar el correcto funcionamiento de un servidor LAMP

    Siempre que terminamos de configurar un servidor LAMP (Linux+Apache+MySQL+PHP en general), es necesario hacer una prueba para verificar su correcto funcionamiento. Por ello, en este artículo dejo un script PHP para interactuar con una base de datos MySQL, junto con un script para crear una base de datos MySQL de prueba, como para tener siempre a mano.

  • Cómo degradar y retener un paquete a una versión anterior en Debian Squeeze

    En ocasiones puede ocurrir que una actualización de PHP haga que algunas funcionalidades de una aplicación Web dejen de funcionar. Esto es lógico cuando se avanza a una versión superior (por ejemplo si ciertas funciones dejan de ser soportadas), aunque no lo es cuando se trata de una actualización de seguridad, donde se mantiene la misma versión y simplemente se parchan vulnerabilidades. Eso fue lo que me sucedió hoy en un servidor de producción y me obligó a retroceder de versión en unos cuantos paquetes de PHP de manera urgente (shame on Squeeze LTS).

  • Cómo detectar scripts PHP lentos o problemáticos

    Una característica muy interesante que posee el servidor Fast CGI de PHP (PHP-FPM) es la posibilidad de detectar, y registrar en un log, aquellas solicitudes que tienen un tiempo de ejecución elevado. Esto puede ser de gran utilidad para descubrir cuales son las páginas de un sitio Web que tardan demasiado tiempo en procesar en el servidor, y por ende cargan demasiado lento.

  • Cómo instalar Joomla! en español en tu VPS en simples pasos

    Supongamos que hemos comprado un VPS (servidor privado virtual) con Debian/Devuan para montar nuestro sitio Web, y ya hemos instalado y comprobado el correcto funcionamiento de una pila LAMP (Linux+Apache+PHP+MySQL). Ahora deseamos instalar Joomla! para montar nuestro sitio Web. Este artículo demuestra los simples pasos de instalación de Joomla! en un servidor LAMP con Debian.

  • Cómo instalar phpMyAdmin desde los fuentes

    phpMyAdmin es una herramienta escrita en PHP para administrar servidores MySQL desde una interfaz Web. Soporta un amplio rango de operaciones sobre servidores MySQL y MariaDB. La mayoría de las cuales (gestionar bases de datos, tablas, columnas, relaciones, índices, usuarios, permisos, etc.) pueden realizarse a través de una interfaz de usuario, al mismo tiempo que es posible ejecutar cualquier sentencia SQL. phpMyAdmin se distribuye como software libre y es una herramienta popularmente utilizada en la gran mayoría de proveedores de hosting de Internet.

    Este artículo explica cómo instalar la última versión de phpMyAdmin desde los fuentes en un servidor Web con soporte para PHP.

  • Cómo instalar phpMyAdmin en Debian

    phpMyAdmin es una aplicación PHP que permite gestionar servidores de bases de datos MySQL o MariaDB desde cualquier navegador Web. Es una herramienta ideal para permitir a desarrolladores el acceso y creación de bases de datos para una aplicación Web, ya que provee una vista conveniente y práctica a un motor de bases de datos MySQL, especialmente a aquellos usuarios no familiarizados con el cliente de línea de comandos mysql. Es el complemento ideal para tu servidor LAMP.

  • Cómo instalar un servidor ownCloud en FreeBSD

    Los recientes artículos dedicados a FreeBSD publicados en este blog, fueron una suerte de preámbulo para llegar al objetivo final: implementar una nube personal utilizando ownCloud sobre un servidor FreeBSD con las siguientes características: Nginx como servidor HTTP; PHP-FPM como servidor de aplicación (PHP en modo FastCGI); Postgres como motor de bases de datos; y ZFS como sistema de archivos. Una combinación muy ambiciosa que, a pesar de no estar soportada oficialmente por ownCloud, pretende utilizar la mejor alternativa disponible para implementar cada componente, con el fin de alcanzar la máxima eficiencia y rendimiento posible. En términos futboleros sería una especie de "selección", poner el mejor jugador disponible para cada posición: ownCloud+FreeBSD+Nginx+PHP-FPM+Postgres+ZFS.

  • Cómo montar un servidor Web con PHP en OpenBSD

    OpenBSD incluye su propia implementación de servidor Web llamado httpd, basado originalmente en relayd, y que (como todo proyecto relacionado a OpenBSD) apunta a la seguridad y en este caso en particular a la escalabilidad.

    httpd es un servidor Web seguro y minimalista (apunta a evitar la "featuritis" que sufren los servidores Web más importantes, notablemente Apache), que sirve archivos estáticos y soporta FastCGI y TLS. Incorpora algunas características básicas como listado de directorios, logging y autenticación basic. Para conocer la historia completa de httpd y cómo comenzó su desarrollo es recomendable el paper Introducing OpenBSD's new httpd.

    El objetivo de este artículo es montar el clásico servidor Web con soporte para PHP sobre un sistema OpenBSD. Y ya que httpd es el servidor Web por defecto en OpenBSD, se explica la instalación y configuración del mismo, en lugar de instalar Apache o Nginx desde los paquetes o ports.

  • Cómo pasar variables de entorno desde Nginx a PHP-FPM

    En este artículo voy a demostrar cómo es posible pasar variables de entorno desde Nginx a PHP5-FPM para que estén accesibles en el arreglo $_SERVER de PHP.

  • Cómo resolver errores HTTP 413 en Nginx

    Esta fue una semana de respuestas HTTP un tanto insólitas para mí. Luego de haber comentado mi experiencia diagnosticando una respuesta HTTP 503, esta vez me tocó solucionar el caso de una respuesta HTTP 413 en un servidor Nginx:

  • Compilar e instalar PHP 7.4 con FPM en Debian 10 (systemd)

    Anteriormente demostré los pasos necesarios para compilar PHP 7 desde los fuentes con soporte para CGI (FPM). En esta oportunidad demuestro los pasos similares para instalar la última versión estable de PHP en un sistema corriendo Debian 10 con systemd.

  • Compilar PHP 5.6 con soporte para LDAP

    Recientemente tuve la necesidad de compilar PHP con soporte para LDAP. Sin embargo, al configurar el paquete con la opción --with-ldap, falla al momento del linking pues es necesario indicarle al linker que enlace con la librería -llber.

  • Compilar PHP 7 con FPM desde los fuentes

    En este artículo voy a explicar detalladamente cómo compilar, instalar y configurar un servidor PHP FastCGI Process Manager (FPM) versión 7, desde sus fuentes. Incluyendo los cambios necesarios en la configuración de un sitio Joomla! para que funcione correctamente con PHP 7.

  • Construir nombres de variable en PHP

    De todos los lenguajes de programación con los que he trabajado creo que PHP es el más flexible y poderoso. Hoy descubrí un excelente truco que permite crear y evaluar nombres de variables a partir de strings en una misma línea.

  • Deshabilitar el registro de errores PHP Notice en logs de Apache

    Muchas veces suele ocurrir que errores de programación de PHP (por ejemplo, falta de validación de variables o comprobación de límites en estructuras) llenan los logs del servidor Apache con mensajes PHP Notice. Si estos errores se repiten muy frecuentemente, pueden ocasionar un problema de espacio en disco (ya que los archivos de log crecen en forma desmedida). Sin contar con que llenan los logs con mensajes irrelevantes para el administrador de sistemas. Por lo tanto, puede ser necesario deshabilitarlos para que directamente no se guarde registro de los mismos en los logs de Apache.

  • Disponible sere v0.1.2

    He liberado la tercera versión estable de sere, mi herramienta para monitorear servidores Web en tiempo real desde cualquier navegador Web. Esta versión trae algunas novedades:

    • Posee gráficas mejoradas.
    • Muestra un extracto de los diez procesos que más CPU consumen.
    • Funciona correctamente en la mayoría de los navegadores, incluyendo Internet Explorer 11.
    • Muestra el uptime, fecha y usuarios cantidad de usuarios.
    • Muestra la carga promedio en los últimos 1, 5 y 15 minutos.
  • Ejecutar scripts PHP desde línea de comandos

    Este artículo explica cómo compilar PHP incluyendo la SAPI CLI, lo cual permite ejecutar scripts PHP desde línea de comandos.