Índice de contenidos
Instalación en Windows
Instalación en Ubuntu
Servidores seguros
Páginas dinámicas
Sintaxis básica
Operaciones
Arrays
Formatos de presentación
Operadores
Bucles
Extraer y ord. información
Funciones
Ficheros externos
Imágenes dinámicas
Gestión de directorios
Cookies y sesiones
Clases y objetos
Ficheros en formato PDF
Bases de datos MySQL
PHP y XML
PDO - Bases SQLite / MySQL
MySQL a traves de misqli
Algo de JavaScript y AJAXUn directorio importante
Antes de comenzar la configuración de php es conveniente que creemos dentro de C:/ServidoresLocales/ un subdirectorio con nombre tmp que será utilizado para contener las eventuales variables de sesión que fuera necesario manejar por parte de PHP y cuya ubicación ha de ser especificada en la configuración de este.
No es preciso que utilicemos ni este nombre ni este directorio ni tampoco es necesario que se incluya en ningún directorio concreto del servidor. La elección del directorio ServidoresLocales obedece únicamente a la razón ya comentada de intentar incluir allí todo lo relativo al PHP.
Configuración de PHP
Con la configuración de PHP ocurre lo mismo que en el caso de Apache. También existen un montón de posibilidades de configuración –iremos viendo algunas de ellas a medida que vaya siendo necesario– a través de las cuales se puede modificar de forma sustancial el comportamiento de PHP.
El elemento clave de la configuración de PHP es un fichero denominado php.ini que debe estar contenido en el directorio C:\ServidoresLocales\php53 dado que fue esa la ubicación que hemos incluido en la directiva PHPIniDir cuando configurábamos Apache en la página anterior.
Antes de empezar la configuración
Si abrimos nuestro directorio: C:/ServidoresLocales/php53 encontraremos dentro de él tres ficheros que deberemos copiar a nuestro sistema tal como se indica en la siguiente tabla.
| Ficheros originales | php5ts.dll libeay32.dll ssleay32.dll |
| Copiar en el subdirectorio que se indica (dentro del que contiene el S.O.) | |
| S.O. | Directorio |
| Windows98 | \system |
| W2000 Windows NT Windows XP Windows Vista W 7 32 bits |
\system32 |
| W 7 64 bits | \SysWOW64 |
Si ya tuviéramos un fichero con ese nombre en el directorio de destino habríamos de sobrescribirlo sustituyendo el preexistente por el que tenemos en C:/ServidoresLocales/php53. Con ello estaríamos asegurándonos de que las versiones de estas librerías son las correspondientes a la versión de PHP que pretendemos utilizar.
Configuración de PHP
En el directorio C:/ServidoresLocales/php53 tenemos un fichero llamado php.ini-development. Lo abriremos con un editor de textos –por ejemplo el Notepad ++– y haremos estas modificaciones:| Fichero inicial | php.ini-development | El fichero php.ini no viene incluido en las distribuciones de PHP. Por esa razón debemos crearlo partiendo, en este caso, de su versión de desarrollo |
| Guardar como | php.ini | |
| Modificaciones en el fichero inicial | ||
| Línea | Cambios | Justificación |
| 798 | Donde dice: | Asignaremos como valor de doc_root una ruta que, como observarás, apunta el directorio htdocs. En otras palabras, le estamos diciendo a PHP en qué sitio del ordenador –fíjate que incluimos una ruta absoluta– se ubicarán los ficheros cuyos scripts debe interpretar. |
| doc_root = | ||
| cambiar por: | ||
| doc_root=C:/ServidoresLocales/Apache/htdocs | ||
| 809 | Donde dice: | Con esta modificación le señalamos al intérprete de PHP en qué sitio debe buscar las extensiones que pueda necesitar para la ejecución de sus scripts. Estas extensiones, que vienen con la instalación de PHP, se descomprimen –por defecto– en un subdirectorio llamado ext y esa es la razón por la que la ruta incluida en esta modificación apunta a un directorio con ese nombre. |
| ; extension_dir = "ext" | ||
| cambiar por: | ||
| extension_dir ="C:/ServidoresLocales/php53\ext\" | ||
| 950 | Donde dice: | Descomentaremos (quitamos el punto y coma que lleva delante) la línea alusiva a la librería php_gd2 con lo cual estamos activando la opción de que PHP pueda ejecutar instrucciones relativas a imágenes dinámicas. |
| ;extension=php_gd2.dll | ||
| cambiar por: | ||
| extension=php_gd2.dll | ||
| 951 | Donde dice: | Descomentaremos la línea alusiva a la librería php_gettext.dll con lo cual estamos activando la opción de incluir soporte para GNU gettext la API del NLS (Native Language Support) que permite internacionalizar las aplicaciones PHP |
| ;extension=php_gettext.dll | ||
| cambiar por: | ||
| extension=php_gettext.dll | ||
| 957 | Donde dice: | Descomentaremos la línea alusiva a la librería php_mbstring.dll con lo cual estamos activando la opción que permite utilizar caracteres multibyte lo cual evita la restricción de uso exclusivo de idiomas con un máximo de 256 carácteres |
| ;extension=php_mbstring.dll | ||
| cambiar por: | ||
| extension=php_mbstring.dll | ||
| 959 | Donde dice: | Descomentaremos la línea alusiva a la librería php_mysql.dll con lo cual estaremos habilitando la posibilidad de usar las funciones MySQL |
| ;extension=php_mysql.dll | ||
| cambiar por: | ||
| extension=php_mysql.dll | ||
| 1085 | Donde dice: | Asignamos la dirección IP que utilizaremos para el proceso Simple Mail Transfer Protocol cuando PHP se utilizado conjuntamente con un servidor de correo para el envío de emails |
| SMTP= localhost | ||
| cambiar por: | ||
| SMTP = 127.0.0.1 | ||
| 1091 | Donde dice: | Es la dirección del remitente que utilizaremos para el envío de mensajes de correo electrónico |
| ;sendmail_from= me@example.com | ||
| cambiar por: | ||
| sendmail_from= admin@mispruebas.as | ||
| 1471 | Donde dice: | Cuando PHP utiliza sesiones es necesario establecer un lugar del servidor en que almacenar informaciones temporales relativas a ellas. Para esa finalidad hemos creado el directorio tmp e incluimos aquí la ruta absoluta hacia ese directorio |
| ;session.save_path = "/tmp" | ||
| cambiar por: | ||
| session.save_path = C:/ServidoresLocales/tmp | ||
| 997 | Donde dice: | Las últimas versiones de PHP requieren que especifiquemos la zona horaria correspondiente al lugar donde está ubicado nuestro servidor |
| ;date.timezone = | ||
| cambiar por: | ||
| date.timezone ='Europe/Madrid' | ||
| 226 | Donde dice: | El caso de short_open_tag resulta particularmente interesante. En versiones anteriores se incluía la opción ON por defecto. A partir de esta versión parece que aparecerá como OFF y será preciso cambiar su configuración (tal como hacemos en nuestro caso) o tener en cuenta las restricciones que impone su modo OFF. Si está en modo OFF NO PERMITE la sintaxis <? ?> para incluir el código PHP siendo obligatorio hacerlo mediante <?php ?> Cuando su estado es ON interpreta ambas formas de sintaxis. |
| short_open_tag = Off | ||
| cambiar por: | ||
| short_open_tag = On | ||
Comprobación de PHP
Una vez que hayamos modificado los apartados anteriores y guardado el fichero con el nombre php.ini en el directorio C:/ServidoresLocales/php53 llega el momento de comprobar si PHP funciona correctamente.
Un script de prueba
Para hacer esta comprobación deberemos escribir nuestro primer script PHP. Abriremos nuestro editor –Notepad++– y escribiremos exactamente esto:
<?php phpinfo(); ?>
Ahora lo guardaremos en C:/ServidoresLocales/Apache/htdocs –recuerda que este es el que hemos configurado como directorio raíz de servidor– con el nombre info.php
Recuerda también que es probable que el bloc de notas haya añadido la extensión .txt y que el fichero puede haber sido guardado como info.php.txt. Lo comprobaremos mirando el directorio htdocs y cambiando el nombre si fuera necesario.
Probando el primer script
Una vez instalados y configurados Apache y PHP y creado el fichero info.php, ha llegado el momento de comprobar si hemos hecho correctamente las configuraciones y si todo funciona bien.
Arrancaremos el servidor Apache y una vez que tengamos la ventana de MS-DOS abierta, deberemos visualizarla sin ningún mensaje (completamente en negro). Eso significaría que Apache está funcionando correctamente con el módulo PHP. Si apareciera algún mensaje de error sería necesario corregir la línea del fichero de configuración a la que se aluda en el propio mensaje.
Solo faltaría abrir el navegador y escribir una de estas dos direcciones: http://localhost/info.php o http://127.0.0.1/info.php y aparecería en pantalla una página como esta:

De ser así, el proceso de instalación y configuración habría terminado y esa página nos estaría facilitando toda la información relativa a la configuración actual de nuestro PHP.