How-To: Instalar PHP

      No hay comentarios en How-To: Instalar PHP

Este how-to es el primero de una serie en la que iré desgranando paso a paso como configuro XAMPP en Windows.

XAMPP, por si no lo sabes, es una manera fácil, rápida y limpia de instalar un servidor Apache junto con PHP y MySQL listo para servir páginas. Además XAMPP permite la instalación en un pendrive, lo que nos permite llevar fácilmente las demos de las páginas web que hagamos al cliente, sin tener que instalar nada.

Entrando en materia lo primero que hago es instalar PHP a mano. Si, realizo una instalación personalizada y a mano del PHP, ya que además de utilizarlo con el servidor Apache también utilizo PHP para scripts de línea de comando.

Sería interesante que antes de empezar elijamos qué versión de PHP vamos a instalar. En mi caso será la versión 7.1.0-VC14 de 64 bits en un Windows 10, también de 64 bits. Puedes consultar las versiones disponibles en:

http://windows.php.net/download/

En la misma página están disponibles los enlaces a las distintas versiones del runtime del Visual Studio. Antes era un poco lío, ahora cada paquete de PHP tiene en el nombre la versión del runtime a instalar:

Por supuesto hay que bajarse la versión de 32 bits si instalamos el PHP de 32 bits, y de 64 bits si hemos elegido PHP de 64 bits… que nos conocemos y seguro que más de un despistado lo pregunta (¿eh, Fernando?).

Utilizaré las siguientes herramientas:

  • Wget: Para bajar archivos de internet desde la línea de comandos.
  • Unzip: Del proyecto GnuWin32.
  • Junction: De Sysinternals, para crear enlaces a carpetas.

Las tres utilidades más alguna cosa más están en un zip de poco menos de 2Mb: Utilidades

El archivo comprimido tiene la siguiente estructura:

Y la estructura que vamos a crear es la siguiente:

Así pues, hay que descomprimir el zip en la raíz del disco C y ya puestos podemos crear c:\var y los dos subdirectorios que debe contener.

Hay que modificar/añadir las siguientes variables de entorno del sistema:

  • Path: Añadir c:\usr\bin;c:\usr\php;c:\usr\php\ext;c:\usr\pear a la rutas existentes.
  • PATHEXT: Añadir .PHP y .PHAR a las extensiones existentes.
  • PHP_INI_SCAN_DIR: Nueva variable de entorno, su valor debe ser c:\usr\etc\php
  • PHP_PEAR_SYSCONF_DIR: Nueva variable de entorno, su valor debe ser c:\usr\pear
  • MIBDIRS: Nueva variable de entorno, su valor debe ser c:\usr\share\mibs
  • WGETRC: Nueva variable de entorno, su valor debe ser c:\usr\etc\wgetrc

No debería tener que explicar para qué sirve la variable de entorno Path, simplemente añadimos la ruta a las utilidades (c:\usr\bin), al PHP y sus extensiones (c:\usr\php; c:\usr\php\ext) y al PEAR  que instalaremos más adelante (c:\usr\pear).

Una vez hemos preparado el entorno y las rutas, abrimos una línea de comandos y nos situamos en c:\usr:

En nuestra línea de comandos ejecutamos lo siguiente:

Fíjate, hemos “instalado” el PHP en c:\usr\php-7.1.0 y con junction hemos enlazado a c:\usr\php, de esta manera cuando actualicemos el PHP bastará con hacer lo siguiente:

Evidentemente antes de hacer dicha operación necesitaremos parar cualquier proceso que haga uso del PHP, como el XAMPP que instalaremos otro día.

En el zip de Utilidades que he enlazado antes hay un “php.ini” que debería estar en c:\usr\etc\php, esto es un truco que he descubierto hace nada cómo hacerlo en Windows. El truco consiste en que mediante una variable de entorno (PHP_INI_SCAN_DIR) se le indica al PHP que queremos que también lea todos los “.ini” que encuentre en las rutas indicadas. Así hemos copiado toda la configuración por defecto del php.ini-production en c:\usr\php\php.ini, que nos servirá como base para la configuración. En el c:\usr\etc\php\php.ini tenemos lo siguiente:

Tal y como se explica en la documentación, lo que hacemos es utilizar las constantes PHP_VERSION y PHP_SAPI para especificar la ruta donde están las extensiones y dar nombre al fichero de log.

Si no has cerrado la ventada del cmd que teníamos abierta (¿quien ha dicho que la cerrases?), puedes ejecutar lo siguiente:

Si todo ha ido bien, PHP nos responderá como os he indicado.

Antes, cuando hemos añadido las variables de entorno hemos creado una llamada PATHEXT es la variable de entorno que Windows utiliza para saber qué extensiones del sistema son los archivos ejecutables, esto nos permitirá ejecutar un script “ejemplo.php” llamándolo desde la línea de comandos simplemente por “ejemplo”. Para que esto funcione hay que añadir lo siguiente al registro:

Por comodidad basta con hacer doble click sobre c:\usr\php.reg, también sería aconsejable añadir c:\usr\phar.reg al registro.

Y ya puestos añadimos en c:\ProgramData\Microsoft\Windows\Templates\ el siguiente “template.php” (c:\usr\template.php):

Si, es un script php vacío… pero ahora cuando en una carpeta de Windows accedas al menú contextual (click derecho) en Nuevo verás una nueva opción “PHP Script“, al seleccionar esa opción verás que te ofrece crear un archivo con extensión “.php” cuyo contenido será justamente el de “template.php”.

PHP_PEAR_SYSCONF_DIR y MIBDIRS son las variables de entorno que utilizarán el PEAR y la extensión SMNP respectivamente. Si bien es posible que no resulte interesante activar la extensión SMNP, es mejor tener el PHP y el entorno preparados. Lo que si que es una buena idea y casi una obligación es configurar PEAR.

PEAR es un repositorio de extensiones/clases/aplicaciones escritas en PHP. Podemos liarnos con el procedimiento de instalación, o puedes hacerlo a mi manera. En nuestra ventana de linea de comandos, que a estas alturas ya sabéis que no tenéis que cerrar, ejecutamos lo siguiente:

Lo primero que nos preguntará es si la instalación es de “sitema” (común) o “local”, le decimos que es “local” y confirmamos:

Entonces nos muestra las rutas de instalación:

Si no nos hemos perdido con los pasos y los hemos seguido bien verás que las rutas ya son correctas y sólo hay que pulsar intro para seguir:

Y ya está, listo para la primera prueba:

Ya sólo nos faltaría instalar composer:

Para actualizar composer:

Ahora ya estamos listos para crear y ejecutar nuestros scripts PHP en línea de comandos.

En la próxima entrega instalaremos XAMPP y reemplazaremos el PHP incorporado por el que acabos de instalar.

Share Button

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *