{"id":8491,"date":"2016-01-22T15:55:45","date_gmt":"2016-01-22T14:55:45","guid":{"rendered":"http:\/\/www.palentino.es\/blog\/?p=8491"},"modified":"2016-01-22T15:55:45","modified_gmt":"2016-01-22T14:55:45","slug":"montando-un-servidor-web-apache-sobre-windows-10-con-mysql-y-php-al-detalle-wampserver","status":"publish","type":"post","link":"https:\/\/www.palentino.es\/blog\/montando-un-servidor-web-apache-sobre-windows-10-con-mysql-y-php-al-detalle-wampserver\/","title":{"rendered":"Montando un servidor web Apache sobre Windows 10 con MySQL y PHP al detalle. WAMPSERVER"},"content":{"rendered":"<p style=\"text-align: justify;\">Esta entrada promete ser larga, por eso, os recomiendo paciencia a la hora de leerla, ya que como todas las cosas, uno comienza escribiendo y se acaba con 20 p\u00e1ginas. Pero creo que debe ser as\u00ed, si se quiere explicar bien que es lo que deseamos hacer.<\/p>\n<p style=\"text-align: justify;\">El prop\u00f3sito de este post es hablaros sobre como montar un <strong>servidor de paginas web de forma gratuita<\/strong> sobre Windows 10 (aunque funcionaria igual sobre otras versiones del Sistema Operativo), que soporte <strong>Apache<\/strong>, <strong>PHP<\/strong> y <strong>MySQL<\/strong>, y todo ello de forma &#8220;extremadamente&#8221; sencilla.<\/p>\n<p style=\"text-align: justify;\">Gracias a <strong>WampServer<\/strong> (aunque existen alternativas y tambi\u00e9n bastante buenas, como XAMP, MAMP, etc.).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8507\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Wamp-Server-introduccion.jpg\" alt=\"Wamp-Server-introduccion\" width=\"619\" height=\"176\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Wamp-Server-introduccion.jpg 619w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Wamp-Server-introduccion-300x85.jpg 300w\" sizes=\"auto, (max-width: 619px) 100vw, 619px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><!--more--><\/p>\n<p>Pero claro, aunque instalar el servidor sobre Windows, simplemente supone instalar una aplicaci\u00f3n o un ejecutable, y es algo trivial<strong>, entender todos los par\u00e1metros configurados por defecto, no es sencillo<\/strong>, ya que existen muchas configuraciones posibles y opciones que es necesario explicar y entender. Es por ello que he creado esta entrada, para aclarar cada apartado y su significado, ya que no queda del todo bien documentado.<\/p>\n<p>La web oficial del producto es\u00a0<a href=\"http:\/\/www.wampserver.com\" target=\"_blank\">www.wampserver.com<\/a>, desde ah\u00ed podemos descargar el programa. El autor es el franc\u00e9s <a href=\"http:\/\/www.romainbourdon.com\/\" target=\"_blank\">Romain Bourdon<\/a><\/p>\n<p>WampServer es un entorno de desarrollo web, que nos permite crear o desplegar aplicaciones web usando el servidor<strong> Apache2<\/strong>, el lenguaje m\u00e1s extendido <strong>PHP<\/strong> y el gestor de bases de datos <strong>MySQL<\/strong>. Adem\u00e1s dispone de un set de herramientas disponibles para gestion de la base de datos. Es el trinomio que posibilita crear ampliaciones W<strong>AMP<\/strong>, acr\u00f3nimo de (Windows Apache MySQL y PHP) a diferencia de las conocidas como L (Linux)AMP.<\/p>\n<p>El proceso de instalaci\u00f3n nos ofrece m\u00e1s informaci\u00f3n sobre lo que vamos a instalar.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8501\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Wamp-Server.jpg\" alt=\"Wamp-Server\" width=\"323\" height=\"122\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Wamp-Server.jpg 323w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Wamp-Server-300x113.jpg 300w\" sizes=\"auto, (max-width: 323px) 100vw, 323px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8502\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wampserver-1.png\" alt=\"wampserver-1\" width=\"513\" height=\"398\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wampserver-1.png 513w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wampserver-1-300x233.png 300w\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" \/><\/p>\n<p>Podemos <strong>ver las versiones de las aplicaciones<\/strong> que est\u00e1n incluidas en la instalaci\u00f3n de WampServer 2.<\/p>\n<p>Apache, Mysql, PHP, los gestores web sobre navegador de bases de datos PhpMyAdmin y Sqlbuddy y el debugger.<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-2.png\" rel=\"attachment wp-att-8497\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8497\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-2.png\" alt=\"wamp-2\" width=\"513\" height=\"398\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-2.png 513w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-2-300x233.png 300w\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" \/><\/a><\/p>\n<p>La ventana superior muestra donde se va a instalar WAMP.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8505\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wampsever-3.png\" alt=\"wampsever-3\" width=\"513\" height=\"398\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wampsever-3.png 513w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wampsever-3-300x233.png 300w\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" \/><\/p>\n<p>Esta otra ventana superior muestra el proceso de instalaci\u00f3n. Contiene todos los archivos que son bastantes usados por cada una de las aplicaciones.<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-4-ruta-por-defecto.png\" target=\"_blank\" rel=\"attachment wp-att-8498\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8498\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-4-ruta-por-defecto.png\" alt=\"wamp-4-ruta-por-defecto\" width=\"900\" height=\"434\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-4-ruta-por-defecto.png 900w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-4-ruta-por-defecto-300x145.png 300w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-4-ruta-por-defecto-768x370.png 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p>Podemos establecer el navegador por defecto para emplearlo con WAMP.<\/p>\n<p>Observa que he usado la ruta donde se encuentra instalado el ejecutable de Google Chrome.<\/p>\n<p><strong>c:\\Users\\(usuario)\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe<\/strong><\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-5.png\" target=\"_blank\" rel=\"attachment wp-att-8499\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8499\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-5.png\" alt=\"wamp-5\" width=\"513\" height=\"398\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-5.png 513w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-5-300x233.png 300w\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" \/><\/a><\/p>\n<p>Tambi\u00e9n nos solicita especificar el servidor saliente de correo empleado por la funci\u00f3n mail de PHP y la direcci\u00f3n de correo.<\/p>\n<p>Una vez instalado, podremos ejecutarlo y nos aparecer\u00e1 un icono en la barra de tareas inferior.<\/p>\n<p>Este men\u00fa le explicar\u00e9 con detalle.<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-6-servicios.png\" rel=\"attachment wp-att-8500\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8500\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-6-servicios.png\" alt=\"wamp-6-servicios\" width=\"243\" height=\"312\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-6-servicios.png 243w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-6-servicios-234x300.png 234w\" sizes=\"auto, (max-width: 243px) 100vw, 243px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Lo primero de todo si abrimos localhost, se nos abrir\u00e1 el navegador establecido por defecto en la instalaci\u00f3n, para mostrar las opciones disponibles. Os he capturado una imagen para que ve\u00e1is que es lo que disponemos.<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/WAMP-Server-modulos-explicados.png\" target=\"_blank\" rel=\"attachment wp-att-8503\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8503\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/WAMP-Server-modulos-explicados.png\" alt=\"WAMP-Server-modulos-explicados\" width=\"888\" height=\"895\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/WAMP-Server-modulos-explicados.png 888w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/WAMP-Server-modulos-explicados-150x150.png 150w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/WAMP-Server-modulos-explicados-298x300.png 298w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/WAMP-Server-modulos-explicados-768x774.png 768w\" sizes=\"auto, (max-width: 888px) 100vw, 888px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Todas estas <strong>extensiones y su descripci\u00f3n vienen\u00a0establecidas por defecto una vez instalado WAMP<\/strong>.<\/p>\n<p>Os dejo una peque\u00f1a ayuda a cada una de ellas ausente en la p\u00e1gina localhost de entrada. Proporciono<strong> enlaces en castellano apuntando a cada secci\u00f3n de la p\u00e1gina oficial php.net<\/strong>.<\/p>\n<p style=\"text-align: justify;\">Son <strong>55 las extensiones de PHP<\/strong> que establece por defecto WAMP, explicar\u00e9 un poco las m\u00e1s interesantes. Recuerda tambi\u00e9n que desde la propia p\u00e1gina inicial puedes acceder a una direcci\u00f3n que posee la funci\u00f3n phpinfo(), para analizar en detalle otros aspectos PHP. Por ejemplo, core no lo he analizado como extensi\u00f3n, pero ofrece informaci\u00f3n valiosa sobre directivas.\u00a0 En la parte inferior se muestra informaci\u00f3n los cr\u00e9ditos y los autores de cada uno de los m\u00f3dulos y\/o extensiones.<\/p>\n<p>Un dato muy importante que ofrece <strong>phpinfo<\/strong>, son el valor de las variables de entorno. Justo encima de los cr\u00e9ditos, dos apartados con los t\u00e9rminos de PHP <strong>Variables y Environtment<\/strong>. Observa que las variables de entorno, al ser una instalaci\u00f3n sobre Windows, ofrecen rutas hacia archivos (tipo <strong>SET<\/strong>).<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Estas son las extensiones PHP de la p\u00e1gina localhost:<\/strong><\/p>\n<p><strong>apache2handle<\/strong><\/p>\n<p>Es una extensi\u00f3n de PHP para Apache<br \/>\n<a href=\"https:\/\/github.com\/vpj\/PHP-Extension-API\/tree\/master\/php5\/sapi\/apache2handler\">https:\/\/github.com\/vpj\/PHP-Extension-API\/tree\/master\/php5\/sapi\/apache2handler<\/a><\/p>\n<p>En Apache 2.0, disponemos de controladores que generan contenido (como leer un script de disco). El contenido va a trav\u00e9s de una cadena de filtros. PHP puede actuar como un filtro, para procesar el script y gestionar la sadida hacia el siguiente filtro. El modulo gestiona de forma segura los modulos php externos.<\/p>\n<p><strong>com_dotnet<\/strong><\/p>\n<p>Es un modulo que cuando se encuentra cargado, permite crear instancias de un objeto COM compatible con OLE, de tal forma que podremos llamar a sus m\u00e9todos y propiedades.<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.com.php\">http:\/\/php.net\/manual\/es\/book.com.php<\/a><\/p>\n<p>La extensi\u00f3n se activa en el <strong>PHP.ini<\/strong> de esta forma<\/p>\n<p>[PHP_COM_DOTNET]<br \/>\nextension=php_com_dotnet.dll<\/p>\n<p><strong>Date<\/strong><\/p>\n<p>Permite activar funcionalidades para la gesti\u00f3n de la fecha y la hora.<br \/>\nFile info<br \/>\nInformaci\u00f3n sobre los ficheros.<\/p>\n<p><strong>Gettext<\/strong><br \/>\nConsultar un mensaje en el domino actual<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/function.gettext.php\">http:\/\/php.net\/manual\/es\/function.gettext.php<\/a><\/p>\n<p><strong>Imap<\/strong><\/p>\n<p>Funciones para trabajar con servidores de correo mediante protocolo Imap<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/ref.imap.php\">http:\/\/php.net\/manual\/es\/ref.imap.php<\/a><\/p>\n<p><strong>Mcrypt<\/strong><br \/>\nFunciones de encriptaci\u00f3n y desencriptaci\u00f3n.<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.mcrypt.php\">http:\/\/php.net\/manual\/es\/book.mcrypt.php<\/a><\/p>\n<p><strong>Mysqlnd<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.mysqlnd.php\">http:\/\/php.net\/manual\/es\/book.mysqlnd.php<\/a><br \/>\nControlador nativo de Mysql<\/p>\n<p><strong>PDO<\/strong><br \/>\nObjeto de datos en PHP. Define una interfaz ligera para acceder a bases de datos en PHP.<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.pdo.php\">http:\/\/php.net\/manual\/es\/book.pdo.php<\/a><\/p>\n<p><strong>Reflection<br \/>\n<\/strong>API que a\u00f1ade capacidades para realizar ingenier\u00eda inversa de clases, interfaces , funciones, m\u00e9todos y extensiones.<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.reflection.php\">http:\/\/php.net\/manual\/es\/book.reflection.php<\/a><\/p>\n<p><strong>Soap<\/strong><br \/>\nPermite usar servidores y clientes SOAP desde PHP y sus diversas especificaciones. Esta extensi\u00f3n de PHP implementa el soporte para\u00a0expat\u00a0de James Clark en PHP. Este conjunto de herramientas permite analizar, pero no validar, documentos XML<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.soap.php\">http:\/\/php.net\/manual\/es\/book.soap.php<\/a><\/p>\n<p><strong>xml<\/strong><br \/>\nSoporte para tratamiento y manipulaci\u00f3n de XML.<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.xml.php\">http:\/\/php.net\/manual\/es\/book.xml.php<\/a><\/p>\n<p><strong>Xsl<\/strong><br \/>\nLa extensi\u00f3n XSL implementa el est\u00e1ndar XSL, realizando\u00a0<a href=\"http:\/\/www.w3.org\/TR\/xslt\">\u00bb\u00a0transformaciones XSLT<\/a>\u00a0usando la\u00a0<a href=\"http:\/\/xmlsoft.org\/XSLT\/\">\u00bb\u00a0biblioteca libxslt<\/a><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.xsl.php\">http:\/\/php.net\/manual\/es\/book.xsl.php<\/a><\/p>\n<p><strong>Gmp<\/strong><br \/>\nEstas funciones permiten trabajar con n\u00fameros enteros de longitud arbitraria usando la biblioteca\u00a0MP\u00a0de GNU<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.gmp.php\">http:\/\/php.net\/manual\/es\/book.gmp.php<\/a><\/p>\n<p><strong>Json<br \/>\n<\/strong>Esta extensi\u00f3n implementa el formato de intercambio de datos\u00a0<a href=\"http:\/\/www.json.org\/\">\u00bb\u00a0JavaScript Object Notation (JSON)<\/a>\u00a0La decodificaci\u00f3n se realiza mediante el an\u00e1lisis sint\u00e1ctico basado en la implementaci\u00f3n de JSON_checker por Douglas Crockford.<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.json.php\">http:\/\/php.net\/manual\/es\/book.json.php<\/a><\/p>\n<p><strong>Mhash<\/strong><br \/>\nEstas funciones est\u00e1n destinadas a trabajar con\u00a0<a href=\"http:\/\/mhash.sourceforge.net\/\">\u00bb\u00a0mhash<\/a>. Mhash puede ser utilizada para crear sumas de comprobaci\u00f3n, res\u00famenes de mensajes, c\u00f3digos de autentificaci\u00f3n de mensajes, y m\u00e1s.<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/intro.mhash.php\">http:\/\/php.net\/manual\/es\/intro.mhash.php<\/a><\/p>\n<p><strong>Odbc<\/strong><br \/>\nPara conectividad de bases de datos abiertas.<\/p>\n<p><strong>Pdo_mysql<\/strong><br \/>\nPDO_MYSQL es un controlador que implementa la\u00a0<a href=\"http:\/\/php.net\/manual\/es\/intro.pdo.php\">interfaz de Objetos de Datos de PHP (PDO)<\/a>\u00a0para permitir el acceso de PHP a bases de datos de MySQL 3.x, 4.x y 5.x. PDO_MYSQL aprovechar\u00e1 el soporte nativo de sentencias preparadas presente en MySQL 4.1 y superior. Si se utiliza una versi\u00f3n anterior de las bibliotecas cliente de MySQL, PDO las emular\u00e1.<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/ref.pdo-mysql.php\">http:\/\/php.net\/manual\/es\/ref.pdo-mysql.php<\/a><br \/>\nsession<\/p>\n<p>El soporte para sesiones en PHP consiste en una forma de preservar cierta informaci\u00f3n a lo largo de accesos subsiguientes.<\/p>\n<p>A un visitante que accede a un sitio web se el asigna un id \u00fanico, tambi\u00e9n llamado id de sesi\u00f3n. \u00c9ste es almacenado en una cookie en la parte del cliente o se propaga en el URL.<\/p>\n<p>El soporte para sesiones permite almacenar los datos entre peticiones en el array superglobal\u00a0<a href=\"http:\/\/php.net\/manual\/es\/reserved.variables.session.php\">$_SESSION<\/a>. Cuando un visitante acceda a un sitio web, PHP comprobar\u00e1 autom\u00e1ticamente (si\u00a0<a href=\"http:\/\/php.net\/manual\/es\/session.configuration.php#ini.session.auto-start\">session.auto_start<\/a>\u00a0est\u00e1 establecido a 1), o sobre su petici\u00f3n (expl\u00edcitamete a trav\u00e9s de<a href=\"http:\/\/php.net\/manual\/es\/function.session-start.php\">session_start()<\/a>), si se ha enviado un id de sesi\u00f3n espec\u00edfico con la petici\u00f3n. Si \u00e9ste es el caso, se recrea el entorno anteriormente guardado.<br \/>\nhttp:\/\/php.net\/manual\/es\/intro.session.php<\/p>\n<p><strong>sockets<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.sockets.php\">http:\/\/php.net\/manual\/es\/book.sockets.php<\/a><\/p>\n<p>La extensi\u00f3n socket implementa una interfaz de bajo nivel para las funciones de comunicaci\u00f3n de sockets basadas en los populares sockets de BSD, proporcionando la posibilidad de actuar tanto como servidor como cliente del socket.<\/p>\n<p><strong>Tokenizer<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.tokenizer.php\">http:\/\/php.net\/manual\/es\/book.tokenizer.php<\/a><br \/>\nLas funciones de la extensi\u00f3n tokenizer proporcionan una interfaz para la creaci\u00f3n de tokens de PHP integrada en el Motor Zend. Utilizando estas funciones se pueden escribir herramientas propias de an\u00e1lisis o de modificaci\u00f3n de c\u00f3digo fuente de PHP, sin tener que hacer frente a las especificaciones del lenguaje a nivel l\u00e9xico<\/p>\n<p><strong>Xmlreader<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.xmlreader.php\">http:\/\/php.net\/manual\/es\/book.xmlreader.php<\/a><br \/>\nLa extensi\u00f3n XMLReader es un analizador de XML. El lector act\u00faa como un cursor yendo hacia delante en el flujo del documento y deteni\u00e9ndose en cada nodo del camino.<\/p>\n<p><strong>Zip<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.zip.php\">http:\/\/php.net\/manual\/es\/book.zip.php<\/a><br \/>\nEsta extensi\u00f3n permite leer o escribir de forma transparente archivos comprimidos ZIP y los ficheros que hay dentro.<\/p>\n<p><strong>bz2<\/strong><br \/>\nPermite trabajar con archivos comprimidos bz2.<\/p>\n<p><strong>Ctype<\/strong><br \/>\nComprobaci\u00f3n del tipo de car\u00e1cter.<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.ctype.php\">http:\/\/php.net\/manual\/es\/book.ctype.php<\/a><br \/>\nLas funciones proporcionadas con esta extensi\u00f3n comprueban si un car\u00e1cter o string caen dentro de una cierta clase de caracteres seg\u00fan la configuraci\u00f3n regional en uso (v\u00e9ase tambi\u00e9n\u00a0<a href=\"http:\/\/php.net\/manual\/es\/function.setlocale.php\">setlocale()<\/a>).<\/p>\n<p><strong>Ereg<\/strong><br \/>\nTrabajo con expresiones regulares. Para realizar b\u00fasquedas y trabajo con patrones.<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/function.ereg.php\">http:\/\/php.net\/manual\/es\/function.ereg.php<\/a><\/p>\n<p><strong>ftp<\/strong><br \/>\nTrabajo con el protocolo de acceso a los servidores FTP.<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.ftp.php\">http:\/\/php.net\/manual\/es\/book.ftp.php<\/a><\/p>\n<p><strong>hash<\/strong><br \/>\nMotor para cifrar mensajes (hash). Permite la transformaci\u00f3n directa o incremental de mensajes de longitud arbitraria usando una variedad de algoritmos hash.<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.hash.php\">http:\/\/php.net\/manual\/es\/book.hash.php<\/a><\/p>\n<p><strong>libxml<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.libxml.php\">http:\/\/php.net\/manual\/es\/book.libxml.php<br \/>\n<\/a>Estas funciones\/constantes est\u00e1n disponibles a partir de PHP 5.1.0. Biblioteca de funciones para trabajar con XML.<\/p>\n<p><strong>Openssl<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.openssl.php\">http:\/\/php.net\/manual\/es\/book.openssl.php<br \/>\n<\/a>Este m\u00f3dulo utiliza las funciones de\u00a0<a href=\"http:\/\/www.openssl.org\/\" target=\"_blank\">\u00bb\u00a0OpenSSL<\/a>\u00a0para la generaci\u00f3n y verificaci\u00f3n de firmas y para sellar (encriptar) y abrir (desencriptar) datos. OpenSSL ofrece muchas caracter\u00edsticas que este m\u00f3dulo no soporta actualmente. Algunas de \u00e9stas podr\u00edan a\u00f1adirse en el futuro.<\/p>\n<p><strong>pdo_sqlite<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/ref.pdo-sqlite.php\">http:\/\/php.net\/manual\/es\/ref.pdo-sqlite.php<br \/>\n<\/a>PDO_SQLITE es un controlador que implementa la\u00a0<a href=\"http:\/\/php.net\/manual\/es\/intro.pdo.php\">interfaz Objetos de Datos de PHP (PDO, siglas en ingl\u00e9s de PHP Data Objects)<\/a>\u00a0para habilitar el acceso a bases de datos de SQLite 3.<\/p>\n<p><strong>Shmop<\/strong><br \/>\nShmop es un conjunto de funciones que permiten a PHP leer, escribir, crear y borrar de forma sencilla segmentos de memoria compartida de tipo UNIX.<br \/>\nNota:\u00a0Las versiones de Windows anteriores a Windows 2000 no son compatibles con la memoria compartida.<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.shmop.php\">http:\/\/php.net\/manual\/es\/book.shmop.php<\/a><\/p>\n<p><strong>SPL<br \/>\n<\/strong>La Biblioteca Est\u00e1ndar de PHP (SPL por las siglas de Standard PHP Library en ingl\u00e9s) es una colecci\u00f3n de interfaces y clases pensadas para solucionar problemas comunes.<\/p>\n<p>No es necesaria ninguna biblioteca externa para construir esta extensi\u00f3n. Est\u00e1 disponible y compilada de forma predeterminada en PHP 5.0.0.<\/p>\n<p>SPL proporciona un conjunto de estructuras de datos est\u00e1ndar, un conjunto de iteradores para recorrer objetos, un conjunto de interfaces, un conjunto de excepciones est\u00e1ndar, varias clases para trabajar con ficheros, y un conjunto de funciones como\u00a0<a href=\"http:\/\/php.net\/manual\/es\/function.spl-autoload-register.php\">spl_autoload_register()<\/a><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.spl.php\">http:\/\/php.net\/manual\/es\/book.spl.php<\/a><\/p>\n<p><strong>Wddx<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.wddx.php\">http:\/\/php.net\/manual\/es\/book.wddx.php<\/a><\/p>\n<p>Acr\u00f3nimo ingl\u00e9s, &#8220;The Web Distributed Data Exchange\u201d, tecnolog\u00eda abierta XML que permite crear aplicaciones web con cualquier plataforma para intercambiar datos de forma sencilla a trav\u00e9s de la web. WDDX puede ser usado sobre los protocolos HTTP, SMTP, POP, FTP<\/p>\n<p><strong>Xmlrpc<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.xmlrpc.php\">http:\/\/php.net\/manual\/es\/book.xmlrpc.php<\/a><\/p>\n<p>Estas funciones se pueden usar para escribir servidores y clientes XML-RPC<\/p>\n<p><strong>Zlib<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.zlib.php\">http:\/\/php.net\/manual\/es\/book.zlib.php<\/a><\/p>\n<p>Este m\u00f3dulo permite leer y escribir ficheros comprimidos con gzip (.gz) de forma transparente, a trav\u00e9s de las versiones de la mayor\u00eda de las funciones de\u00a0<a href=\"http:\/\/php.net\/manual\/es\/book.filesystem.php\">sistemas de ficheros<\/a>\u00a0que trabajan con ficheros comprimidos con gzip (y tambi\u00e9n con ficheros descomprimidos, pero no con sockets).<\/p>\n<p><strong>Calendar<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.calendar.php\">http:\/\/php.net\/manual\/es\/book.calendar.php<\/a><br \/>\nLa extensi\u00f3n Calendario presenta una serie de funciones para simplificar la conversi\u00f3n entre diferentes formatos de calendario.<\/p>\n<p><strong>Curl<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.curl.php\">http:\/\/php.net\/manual\/es\/book.curl.php<\/a><\/p>\n<p>PHP soporta libcurl, una biblioteca creada por Daniel Stenberg que permite conectarse y comunicarse con diferentes tipos de servidores y diferentes tipos de protocolos. Actualmente, libcurl admite los protocolos http, https, ftp, gopher, telnet, dict, file y ldap. libcurl tambi\u00e9n admite certificados HTTPS, HTTP, POST, HTTP PUT, subidas mediante FTP (tambi\u00e9n se puede hacer con la extensi\u00f3n FTP de PHP), subidas basadas en formularios HTTP, proxies, cookies, y autenticaci\u00f3n usuario+contrase\u00f1a.<\/p>\n<p><strong>Exif<br \/>\n<\/strong><a href=\"http:\/\/php.net\/manual\/es\/book.exif.php\">http:\/\/php.net\/manual\/es\/book.exif.php<\/a><\/p>\n<p>Con la extensi\u00f3n Exif (siglas en ingl\u00e9s de Exchangeable image information) se puede trabajar con metadatos de im\u00e1genes. Por ejemplo, se pueden usar las funciones de exif para leer los metadatos de fotograf\u00edas tomadas con c\u00e1maras digitales, trabajando con la informaci\u00f3n almacenada en las cabeceras de im\u00e1genes\u00a0JPEG\u00a0y\u00a0TIFF.<\/p>\n<p><strong>Gd<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.image.php\">http:\/\/php.net\/manual\/es\/book.image.php<\/a><\/p>\n<p>Permite trabajar con im\u00e1genes. PHP no est\u00e1 limitado a crear \u00fanicamente salidas HTML. Tambi\u00e9n se puede usar para crear y manipular ficheros de im\u00e1genes en una variedad de diferentes formatos de imagen, incluyendo\u00a0GIF,\u00a0PNG,\u00a0JPEG,\u00a0WBMP\u00a0y\u00a0XPM. A\u00fan m\u00e1s pr\u00e1ctico es que PHP puede transferir flujos de imagen directamente al navegador. Necesitar\u00e1 compilar PHP con la biblioteca de funciones de im\u00e1genes\u00a0GD\u00a0para que esto funcione.\u00a0GD\u00a0y PHP tambi\u00e9n pueden requerir otras bibliotecas, dependiendo de los formatos de imagen con los que se quiera trabajar.<\/p>\n<p>Se pueden usar las funciones de imagen de PHP para obtener el tama\u00f1o de im\u00e1genes\u00a0JPEG,\u00a0GIF,\u00a0PNG,\u00a0SWF,\u00a0TIFF\u00a0y\u00a0JPEG2000.<\/p>\n<p>Con la\u00a0<a href=\"http:\/\/php.net\/manual\/es\/ref.exif.php\">extensi\u00f3n anterior exif<\/a>, se puede trabajar con informaci\u00f3n almacenada en cabeceras de im\u00e1genes\u00a0JPEG\u00a0y\u00a0TIFF. De esta manera se pueden leer metadatos generados por c\u00e1maras digitales. Las funciones de exif no requieren la biblioteca\u00a0GD.<\/p>\n<p><strong>Iconv<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.iconv.php\">http:\/\/php.net\/manual\/es\/book.iconv.php<\/a><\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<p>Al margen de todas estas extensiones, la pagina inicial <strong>Wamp<\/strong>, ofrece el acceso directo a la aplicaci\u00f3n previamente instalada <strong>phpmyadmin<\/strong> para la gesti\u00f3n de bases de datos mysql desde la web.<\/p>\n<p>Otra herramienta ya instalada es el <strong>phpsysinfo<\/strong> que son unos scripts que nos ofrece informaci\u00f3n sobre nuestro sistema, pero ya mas a nivel f\u00edsico, maquina, espacios, ocupaciones de disco, consumos de memoria, etc.<\/p>\n<p>Tanto esta herramienta, como el interfaz de wamp, acceso a phpmyadmin, pueden ser mostrados en castellano.<\/p>\n<p>No con eso, tambi\u00e9n <strong>WAMP<\/strong> nos instala de forma predeterminada la utilidad <strong>sqlbuddy<\/strong><\/p>\n<p><a href=\"http:\/\/sqlbuddy.com\/\">http:\/\/sqlbuddy.com\/<\/a><\/p>\n<p>Es otra interfaz para la administraci\u00f3n via web de bases de datos mysql. Similar a phpmyadmin. Esta herramienta tambi\u00e9n puede ser usada en castellano, con una apariencia liviana y sencilla.<\/p>\n<p>La \u00faltima herramienta instalada es <strong>webgrind<\/strong>.<br \/>\n<a href=\"https:\/\/code.google.com\/p\/webgrind\/\">https:\/\/code.google.com\/p\/webgrind\/<\/a><\/p>\n<p>Es una aplicaci\u00f3n que se usa a trav\u00e9s del navegador en PHP para realizar \u201c<strong>PROFILING<\/strong>\u201d de un sistema web.<br \/>\nEl profiling es una an\u00e1lisis de rendimiento de software, se puede traducir como perfilaje. Se investiga el comportamiento del programa, para averiguar ciertos factores que podemos luego optimizar.<\/p>\n<p>La herramienta es en realidad una cara (<strong>frontend<\/strong>) para <strong>Xdebug<\/strong>. Por lo tanto nos muestra datos que nos ofrece xdebug.<\/p>\n<p>Para trabajar con proyectos, WAMP te anima a crear uno, en el directorio www, para ello crea una carpeta con el administrador de archivos y comienza a trabajar creando paginas en php, html o js, etc. Puedes acceder directamente a este directorio, en el icono del men\u00fa de opciones. Asi de sencillo.<\/p>\n<p><strong>Iconv<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.iconv.php\">http:\/\/php.net\/manual\/es\/book.iconv.php<\/a><\/p>\n<p>Este m\u00f3dulo contiene de un interfaz a la utilidad de conversi\u00f3n de conjuntos de caracteres iconv. Con este m\u00f3dulo se puede convertir un string representado por un conjunto de caracteres local en uno representado por otro conjunto de caracteres, el cual puede ser el conjunto de caracteres Unicode. Los conjuntos de caracteres admitidos dependen de la implemtaci\u00f3n de iconv del sistema.<\/p>\n<p><strong>Mbstring<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.mbstring.php\">http:\/\/php.net\/manual\/es\/book.mbstring.php<\/a><\/p>\n<p>Aunque existen muchos idiomas en los cuales cada car\u00e1cter necesario puede ser representado por una referencia uno a uno a un valor de 8 bits, existen tambi\u00e9n bastantes idiomas que requieren tantos caracteres para la comunicaci\u00f3n escrita que no pueden ser representados dentro del rango que un mero byte puede codificar (un byte se compone de ocho bits. Cada bit puede contener solamente dos valores distintos, uno o cero. Debido a esto, con un byte solo se pueden representar 256 valores \u00fanicos (2 a la 8\u00aa potencia)). Los esquemas de codificaci\u00f3n multibyte fueron desarrollados precisamente para expresar m\u00e1s de 256 caracteres en el sistema de codificaci\u00f3n regular a nivel de bits.<\/p>\n<p>Cuando se manipulan cadenas de caracteres (trim, split, splice, etc.) en una codificaci\u00f3n multibyte, es necesario utilizar funciones especiales, ya que dos o m\u00e1s bytes consecutivos pueden representar un \u00fanico car\u00e1cter en tal esquema de codificaci\u00f3n. Si, de lo contrario, se usa una funci\u00f3n que no considera caracteres multibyte con la cadena de caracteres, es probable que falle al detectar el comienzo o el final del car\u00e1cter multibyte, y que se termine con una cadena de caracteres corrupta que probablemente pierda su significado original.<\/p>\n<p><em>mbstring<\/em>\u00a0proporciona funciones espec\u00edficas para cadenas de texto multibyte que ayudan a tratar codificaciones multibyte en PHP. Adem\u00e1s, <em>mbstring<\/em>\u00a0controla la conversi\u00f3n de la codificaci\u00f3n de caracteres entre los posibles esquemas de codificaci\u00f3n.\u00a0<em>mbstring<\/em>\u00a0est\u00e1 dise\u00f1ada para manejar codificaciones basadas en Unicode, tales como UTF-8 y UCS-2, y, por conveniencia, varias codificaciones de un solo byte.<\/p>\n<p><strong>Mysqli<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.mysqli.php\">http:\/\/php.net\/manual\/es\/book.mysqli.php<\/a><\/p>\n<p>Extensi\u00f3n Mysql mejorada. La extensi\u00f3n\u00a0<em>mysqli<\/em>\u00a0(mysql improved) permite acceder a la funcionalidad proporcionada por MySQL 4.1 y posterior.<\/p>\n<p><strong>Pcre<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.pcre.php\">http:\/\/php.net\/manual\/es\/book.pcre.php<\/a><\/p>\n<p>Expresiones regulares compatibles con Perl.<\/p>\n<p><strong>Phar<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.phar.php\">http:\/\/php.net\/manual\/es\/book.phar.php<\/a><\/p>\n<p>La extensi\u00f3n phar proporciona una manera de colocar aplicaciones PHP enteras dentro de un \u00fanico fichero llamado &#8220;phar&#8221; (PHP Archive) para una distribuci\u00f3n e instalaci\u00f3n sencillas. Lo archivos Phar est\u00e1n mejor caracterizados como una forma conveniente de agrupar varios ficheros en un \u00fanico fichero. Como tal, un archvo phar proporciona una forma para distribuir una aplicaci\u00f3n PHP completa en un \u00fanico fichero y ejecutarla desde ese mismo fichero sin necesidad de extraerlo en el disco. Adem\u00e1s, los archivos phar pueden ser ejecutados por PHP f\u00e1cilmente al igual que cualquier otro fichero, tanto desde la l\u00ednea de comandos como desde un servidor web. Phar a web server. Phar es como una memoria USB para aplicaciones PHP.<\/p>\n<p><strong>SimpleXML<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.simplexml.php\">http:\/\/php.net\/manual\/es\/book.simplexml.php<\/a><\/p>\n<p>La extensi\u00f3n SimpleXML proporciona un conjunto de herramientas muy simple y f\u00e1cil de usar para convertir XML a un objeto que pueda ser procesado con selectores de propiedades normales e iteradores de arrays.<\/p>\n<p><strong>Sqlite3<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/intro.sqlite3.php\">http:\/\/php.net\/manual\/es\/intro.sqlite3.php<\/a><\/p>\n<p>Soporte para bases de datos SQLite versi\u00f3n 3.<\/p>\n<p><strong>Xmlwriter<\/strong><br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/book.xmlwriter.php\">http:\/\/php.net\/manual\/es\/book.xmlwriter.php<\/a><\/p>\n<p>Esta es la extensi\u00f3n XMLWriter. Envuelve a la API xmlWriter de libxml.<\/p>\n<p>Esta extensi\u00f3n representa un escritor que provee medios no almacenados en cach\u00e9 de s\u00f3lo avance para la generaci\u00f3n de flujos o ficheros con datos XML.<\/p>\n<p>Esta extensi\u00f3n se puede usar con el estilo orientado a objetos o con el procedimental. Cada m\u00e9todo documentado describe la llamada procedimental alternativa.<\/p>\n<p><strong>Short Open Tags<\/strong><\/p>\n<p>Si se encuentra activo, PGP permite abreviaturas cortas tipo &lt;?\u00a0 ?&gt;. No obstante si se encuentra desactivada siempre se puede usar la otra versi\u00f3n corta &lt;?php ?&gt;<\/p>\n<p><strong>Expose PHP<\/strong><\/p>\n<p>Indica a todos los visitantes o curiosos que PHP se encuentra instalado en el servidor, ya que incluye en la cabecera HTTP el Powered by<\/p>\n<p><strong>Display Errors<\/strong><\/p>\n<p>Determina si los errores deber\u00edan ser impresos en pantalla como parte de la salida u ocultarse al usuario.<\/p>\n<p><strong>Display startup errors<\/strong><\/p>\n<p>Si se encuentra activo, los errores que ocurren en la secuencia de arranque PHP no se muestran. Se recomienda mantener desactivado esto, excepto para la depuraci\u00f3n.<\/p>\n<p><strong>Log errors<\/strong><\/p>\n<p>Indica si los mensajes de error del script php deber\u00edan registrase en el servidor o en el error_log. Es una opci\u00f3n espec\u00edfica para servidores.<\/p>\n<p><strong>Report memleaks<\/strong><\/p>\n<p>Si se encuentra activo, que as\u00ed es por defecto, mostrar\u00e1 un informe de perdida de memoria detectado por el gestor de memoria Zend. En Windows, ser\u00e1 enviado al depurador usando OutputDebugString(), y podr\u00e1 ser visto con herramientas como\u00a0<a href=\"http:\/\/technet.microsoft.com\/en-us\/sysinternals\/bb896647\">\u00bb\u00a0DbgView<\/a>.<\/p>\n<p><strong>Track errors<\/strong><\/p>\n<p>Si est\u00e1 habilitado, el \u00faltimo mensaje de error siempre estar\u00e1 presente en la variable\u00a0<a href=\"http:\/\/php.net\/manual\/es\/reserved.variables.phperrormsg.php\">$php_errormsg<\/a>.<\/p>\n<p><strong>File uploads<\/strong><\/p>\n<p>Permite la subida de ficheros.<\/p>\n<p><strong>Allow url fopen<\/strong><\/p>\n<p>Esta opci\u00f3n habilita las envolturas fopen de tipo URL que permiten el acceso a objetos URL como ficheros. Las envolturas predeterminadas est\u00e1n proporcionadas para el acceso de\u00a0<a href=\"http:\/\/php.net\/manual\/es\/features.remote-files.php\">ficheros remotos<\/a>\u00a0usando los protocolos ftp o http, algunas extensiones como <a href=\"http:\/\/php.net\/manual\/es\/ref.zlib.php\">zlib<\/a>\u00a0pueden registrar envolturas adicionales.<\/p>\n<p>Desactivadas por defecto<\/p>\n<p><strong>Xdebug<\/strong><br \/>\nPermite depuraci\u00f3n de aplicaciones en PHP. Lo comentar\u00e9 despu\u00e9s.<\/p>\n<p>Es necesario aclarar que todos estos m\u00f3dulos se pueden activar en el PHP.ini. Se edita desde el men\u00fa de opciones, se abre autom\u00e1ticamente el editor de texto predeterminado.<\/p>\n<p>Por otro lado, el\u00a0 PHP, no se desactivan como servicio. Esto no es as\u00ed con el apache y la base de datos Mysql.<\/p>\n<p>Adem\u00e1s de estas extensiones, existen unos ajustes de configuraci\u00f3n que debemos conocer. Mostrar\u00e9 primero los que vienen activos (foto). Ver foto php.ini<\/p>\n<p>Xdebug \u2013 Profiler<\/p>\n<p>Es una poderosa herramienta que nos ofrece la capacidad de analizar el c\u00f3digo PHP y determinar cuellos de botella o ver partes de c\u00f3digo que corren lento o necesitan un aumento de velocidad. Para activar esta directiva el valor que se necesita establecer en el php.ini es:<\/p>\n<p>xdebug.profiler_enable = 1;<\/p>\n<p>Existe la posibilidad de activar el generador de perfiles del navegador, para el control de las cookies, se puede establecer a true la entrada<br \/>\nxdebug.profiler_enable_trigger = 1;<\/p>\n<p>Tambi\u00e9n puede configurarse la depuraci\u00f3n remota, estableciendo la m\u00e1quina, el puerto, el manejador, y activando esta caracter\u00edstica (viene desactivada)<\/p>\n<p>xdebug.remote_enable=On<\/p>\n<p>xdebug.remote_host=&#8221;localhost&#8221;<\/p>\n<p>xdebug.remote_port=10000<\/p>\n<p>xdebug.remote_handler=&#8221;dbgp&#8221;<\/p>\n<p><strong>ASP tags<\/strong><\/p>\n<p>Permite usar las etiquetas cortas tipo asp &lt;%%&gt;<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/ASP-tags-off.png\" rel=\"attachment wp-att-8493\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8493\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/ASP-tags-off.png\" alt=\"ASP-tags-off\" width=\"407\" height=\"556\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/ASP-tags-off.png 407w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/ASP-tags-off-220x300.png 220w\" sizes=\"auto, (max-width: 407px) 100vw, 407px\" \/><\/a><\/p>\n<p><strong>Output buffering<\/strong><\/p>\n<p>Activa el buffer de salida para todos los ficheros. Si se encuentra activo puedes usar ob_start() cuando quiers para comenzar el buffer y ob_Flush para detenerlo.<\/p>\n<p>El buffer de salida es un mecanismo que en lugar de enviar la salida directamente al navegador, se env\u00eda al buffer, el cual puedes llamar una vez que el contenido este listo. Por defecto, PHP env\u00eda la respuesta a los navegadores, para ello usamos echo o print. Pero si activamos el buffer el contenido no se enviar\u00e1 al cliente.<br \/>\n<a href=\"http:\/\/www.sitepoint.com\/php-streaming-output-buffering-explained\/\">http:\/\/www.sitepoint.com\/php-streaming-output-buffering-explained\/<\/a><\/p>\n<p><strong>Implicit flush<\/strong><\/p>\n<p>Activa el volcado impl\u00edcito. Vacia el buffer del sistema.<\/p>\n<p><strong>Zlib Output compression<\/strong><\/p>\n<p>La extensi\u00f3n zlib ofrece la opci\u00f3n de comprimir de manera trasparente las p\u00e1ginas sobre la marcha, si el navegador que hace la solicitud lo soporta. Existen tres opciones en el\u00a0<a href=\"http:\/\/php.net\/manual\/es\/configuration.file.php\">archivo de configuraci\u00f3n<\/a>\u00a0php.ini.<br \/>\n<a href=\"http:\/\/php.net\/manual\/es\/zlib.configuration.php\">http:\/\/php.net\/manual\/es\/zlib.configuration.php<\/a><\/p>\n<p><strong>Ignore repeated errors<\/strong><\/p>\n<p>No muestra los errores si son repetidos o se producen en la misma l\u00ednea.<\/p>\n<p><strong>Ignore repeated source<\/strong><\/p>\n<p>No muestra la fuente del error en los errores repetidos.<\/p>\n<p><strong>Register argc argv<\/strong><\/p>\n<p>Permite registrar par\u00e1metros de entrada en l\u00ednea de comandos.<\/p>\n<p><strong>Enable dl<\/strong><\/p>\n<p>Permite cargar extensiones de php durante la ejecuci\u00f3n.<\/p>\n<p><strong>Allow url include<\/strong><\/p>\n<p>Si se encuentra desactivada no permitir\u00e1 al c\u00f3digo PHP del servidor incluir ficheros remotos. Por lo tanto, permite al programado incluir c\u00f3digo mediante URL en sus scripts. Hay que tener cuidado puede ser un motivo de fallo de seguridad, por eso muchos proveedores de hosting lo desactivan. Ejemplo de inclusi\u00f3n:<\/p>\n<p>&lt;?php include(&#8220;http:\/\/example.com\/includes\/example_include.php?var=example&#8221;);\u00a0?&gt;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>MENU DE OPCIONES<a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-6-servicios.png\" rel=\"attachment wp-att-8500\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8500\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-6-servicios.png\" alt=\"wamp-6-servicios\" width=\"243\" height=\"312\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-6-servicios.png 243w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/wamp-6-servicios-234x300.png 234w\" sizes=\"auto, (max-width: 243px) 100vw, 243px\" \/><\/a><\/strong><\/p>\n<p>Si has usado o administrado una maquina desde l\u00ednea de comandos o interprete, te dar\u00e1s cuenta que muchas cosas son bastante r\u00e1pidas de realizar. Tambi\u00e9n nos posibilita entender lo que estamos realizando. Pero el inconveniente es que tienes que tener muy buena memoria o experiencia para ejecutar cada cosa sin error.<\/p>\n<p>Gracias a estas herramientas gr\u00e1ficas, el acceso a esos comandos, se puede realizar de forma sencilla y solo con un clic.<\/p>\n<p>Esta es una de las grandes ventajas de usar WAMPSERVER, todo est\u00e1 al alcance de la mano, para usuarios sin mucha experiencia. Podemos para servicios, ver configuraciones existentes de apache, php, mysql, acceso a directorios de datos, desactivar m\u00f3dulos o extensiones, con un solo clic.<\/p>\n<p><strong>Localhost<\/strong> -&gt; Abre la pagina inicial, donde se encuentra el peque\u00f1o backend de administraci\u00f3n<\/p>\n<p><strong>My projects<\/strong> -&gt; Puedes ver las diversas carpetas creadas para cada proyecto dentro del servidor.<\/p>\n<p><strong>PhpMyAdmin<\/strong> -&gt; Carga la herramienta gr\u00e1fica del navegador para administrar bases Mysql.<\/p>\n<p><strong>Directorio www-<\/strong> &gt; Muestra la carpeta donde se encuentran los diversos proyectos.<\/p>\n<p><strong>APACHE<\/strong> -&gt;<br \/>\nEn este apartado me detendr\u00e9 para comentar cada una de las opciones.<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Wamp-server-opciones-apache.jpg\" target=\"_blank\" rel=\"attachment wp-att-8504\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8504\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Wamp-server-opciones-apache.jpg\" alt=\"Wamp-server-opciones-apache\" width=\"959\" height=\"1131\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Wamp-server-opciones-apache.jpg 959w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Wamp-server-opciones-apache-254x300.jpg 254w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Wamp-server-opciones-apache-768x906.jpg 768w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Wamp-server-opciones-apache-868x1024.jpg 868w\" sizes=\"auto, (max-width: 959px) 100vw, 959px\" \/><\/a><\/p>\n<p>Versi\u00f3n nos muestra la versi\u00f3n de PHP de apache que tenemos instalada.<\/p>\n<p>Service nos posibilita detener o reiniciar el servidor web de Apache.<\/p>\n<p>Los m\u00f3dulos nos ofrecen diversas opciones de configuraci\u00f3n de Apache. Todos los que se encuentran marcados con una verificaci\u00f3n se encuentran activos. Podremos editarles a mano, mediante el fichero de texto <strong>httpd.conf<\/strong>.<\/p>\n<p>Recuerda que podemos hacer un <strong>overriding<\/strong> o sobre configuraci\u00f3n de las opciones de apache mediante el archivo .htaccess situado en cada directorio.<\/p>\n<p>El archivo <strong>.htaccess<\/strong> es un archivo de configuraci\u00f3n distribuida, donde se pueden definir directivas de configuraci\u00f3n espec\u00edficas para cada directorio, sin necesidad de tocar Apache. Sus usos m\u00e1s frecuentes permiten otorgar autorizaci\u00f3n y autenticaci\u00f3n, creaci\u00f3n de URLs amigables, restricciones de acceso, listados de directorio, crear p\u00e1ginas personalizadas, control de cache, crear redirecciones est\u00e1ticas, etc.<\/p>\n<p>Tambi\u00e9n podremos ver los errores tanto de Apache como de acceso. Estos errores son generados por apache en forma de log.<\/p>\n<p>Los m\u00f3dulos de Apache2 son diversos, explicar\u00e9 los que se encuentran activos por defecto.<\/p>\n<p><strong>Access_compat_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/mod\/mod_access_compat.html\">https:\/\/httpd.apache.org\/docs\/2.4\/mod\/mod_access_compat.html<\/a><\/p>\n<p>Autorizaciones de grupo basadas en host<\/p>\n<p><strong>Actions_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_actions.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_actions.html<\/a><\/p>\n<p>Ejecuta scripts CGI basados en el tipo de medio o m\u00e9todo de peticion<\/p>\n<p><strong>Alias_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_alias.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_alias.html<\/a><\/p>\n<p>Proporciona el mapeo de diferentes partes del sistema de archivos del host en el \u00e1rbol de documentos y para las redirecciones URL. Usado por el sistema de alias anteriormente comentado.<\/p>\n<p><strong>Allowmethods_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_allowmethods.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_allowmethods.html<\/a><\/p>\n<p>Este m\u00f3dulo permite restringir de forma sencilla que m\u00e9todos HTTP pueden ser usados en el servidor.<\/p>\n<p><strong>Asis_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_asis.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_asis.html<\/a><\/p>\n<p>Env\u00eda ficheros que contienen sus propias cabeceras HTTP.<\/p>\n<p><strong>Auth_basic_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_auth_basic.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_auth_basic.html<\/a><\/p>\n<p>Modulo que proporciona autenticaci\u00f3n HTTP b\u00e1sica, para restringir accesos.<\/p>\n<p><strong>Authn_core_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_authn_core.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_authn_core.html<\/a><\/p>\n<p>Autenticaci\u00f3n del n\u00facleo. Proporciona capacidades\u00a0 para permitir o denegar accesos a diversas partes de la web.<\/p>\n<p><strong>Authn_file module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_authn_file.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_authn_file.html<\/a><\/p>\n<p>Autenticaci\u00f3n de usuarios usando ficheros de texto.<\/p>\n<p><strong>Authz_core_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_authz_core.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_authz_core.html<\/a><\/p>\n<p>Autenticaci\u00f3n del n\u00facleo.<\/p>\n<p><strong>Authz_groupfile_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_authz_groupfile.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_authz_groupfile.html<\/a><\/p>\n<p>Autorizaci\u00f3n de grupo usando ficheros de texto plano.<\/p>\n<p><strong>Authz_host_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_authz_host.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_authz_host.html<\/a><\/p>\n<p>Grupos de autorizaci\u00f3n basados en host.<\/p>\n<p><strong>Authz_user_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_authz_user.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_authz_user.html<\/a><\/p>\n<p>Autorizaci\u00f3n de usuario.<\/p>\n<p><strong>Autoindex_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_autoindex.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_autoindex.html<\/a><\/p>\n<p>Genera \u00edndices de directorio de forma autom\u00e1tica.<\/p>\n<p><strong>Cache_disk_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_cache_disk.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_cache_disk.html<\/a><\/p>\n<p>M\u00f3dulo de almacenamiento basado en disco para el filtrado de cache HTTP.<\/p>\n<p><strong>Cache_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_cache.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_cache.html<\/a><\/p>\n<p>Filtro de cache HTTP compatible con la RFC 2616 (las RFC son documentos t\u00e9cnicos que especifican normas o recomendaciones (Request For Comments), creadas por el IETF<\/p>\n<p><strong>Cgi_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_cgi.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_cgi.html<\/a><\/p>\n<p>Ejecuci\u00f3n de scripts CGI. La CGI define una forma para que los servidores web interact\u00faen con programas para la generaci\u00f3n de contenido.<\/p>\n<p><strong>Deflate_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_deflate.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_deflate.html<\/a><\/p>\n<p>Comprime el contenido antes de ser enviado al cliente. Ahorro de ancho de banda.<\/p>\n<p><strong>Dir_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_dir.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_dir.html<\/a><\/p>\n<p>Proporciona una barra diagonal que redirige y sirve ficheros del \u00edndice de directorios.<\/p>\n<p><strong>Env_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_env.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_env.html<\/a><\/p>\n<p>Modifica el entorno para pasar los scripts CGI y las paginas SSI<\/p>\n<p><strong>File_cache_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_file_cache.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_file_cache.html<\/a><\/p>\n<p>Cachea una lista est\u00e1tica de ficheros en memoria. Es una t\u00e9cnica para reducir la carga del servidor.<\/p>\n<p><strong>Include_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_include.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_include.html<\/a><\/p>\n<p>Este modulo ofrece un filtro que procesar\u00e1 los ficheros antes de que sean enviados al cliente. Actuando de parseador de documentos HTML.<\/p>\n<p><strong>Isapi_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_isapi.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_isapi.html<\/a><\/p>\n<p>Extensiones de apache para soporte de Windows. Este m\u00f3dulo implementa el API\u00a0 ISAPI.dll<\/p>\n<p><strong>Log_config_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_log_config.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_log_config.html<\/a><\/p>\n<p>Almacenamiento y auditoria de las peticiones realizadas al servidor.<\/p>\n<p><strong>Mime_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_mime.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_mime.html<\/a><\/p>\n<p>Asocia las extensiones de archivo con el comportamiento del fichero. Para peticiones de realizadas por HTTP, aplicaciones que se asocian a tipos de archivo. Lo que se conoce como tipos MIME. Este es un campo bastante extendido y usado, se pueden agregar nuevas extensiones para la correcta gesti\u00f3n.<\/p>\n<p><strong>Negotiation_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_negotiation.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_negotiation.html<\/a><\/p>\n<p>Selecciona el documento que mejor encaja con las capacidades del cliente, de varios documentos disponibles.<\/p>\n<p><strong>Php5_module<\/strong><br \/>\nSoporte de PHP 5. Esencial.<\/p>\n<p><strong>Setenvif_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_setenvif.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_setenvif.html<\/a><\/p>\n<p>Permite establecer las variables de entorno.<\/p>\n<p><strong>Vhost_alias_module<\/strong><br \/>\n<a href=\"https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_vhost_alias.html\">https:\/\/httpd.apache.org\/docs\/2.4\/es\/mod\/mod_vhost_alias.html<\/a><\/p>\n<p>Posibilita crear din\u00e1micamente host virtuales.<\/p>\n<p>Los directorios alias, permiten definir directorios virtuales. Podremos dar un nombre que deseemos para la ruta donde se encuentran almacenadas las p\u00e1ginas. Estas directivas se encuentran dentro del archivo de configuraci\u00f3n<strong> httpd.conf<\/strong>, aunque con wampserver las podremos definir desde esta opci\u00f3n.<\/p>\n<p><strong>PHP<\/strong><\/p>\n<p>Este apartado le he comentado anteriormente, tanto las extensiones como las opciones. Adem\u00e1s PHP no admite reinicio de servicio.<\/p>\n<p><strong><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/configuracion-del-php.png\" target=\"_blank\" rel=\"attachment wp-att-8494\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8494\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/configuracion-del-php.png\" alt=\"configuracion-del-php\" width=\"438\" height=\"604\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/configuracion-del-php.png 438w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/configuracion-del-php-218x300.png 218w\" sizes=\"auto, (max-width: 438px) 100vw, 438px\" \/><\/a><br \/>\n<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>MYSQL<\/strong><\/p>\n<p>En este men\u00fa, podremos gestionar las caracter\u00edsticas de MySQL. Principalmente parar el servicio, reiniciarle. Tambi\u00e9n podremos ver la versi\u00f3n del motor de bases de datos que estamos empleando.<\/p>\n<p>Podremos gestionar mysql desde el interprete de <strong>comandos<\/strong> mediante una ventana <strong>cmd<\/strong>.<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/consula-de-comandos-administrar-mysql.jpg\" rel=\"attachment wp-att-8495\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8495\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/consula-de-comandos-administrar-mysql.jpg\" alt=\"consula-de-comandos-administrar-mysql\" width=\"499\" height=\"334\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/consula-de-comandos-administrar-mysql.jpg 499w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/consula-de-comandos-administrar-mysql-300x201.jpg 300w\" sizes=\"auto, (max-width: 499px) 100vw, 499px\" \/><\/a><\/p>\n<p><strong>Quick Admin<\/strong><\/p>\n<p>Permite iniciar, detener o reiniciar todos los servicios anteriormente mencionados a la vez.<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Mysq-wampserver.jpg\" rel=\"attachment wp-att-8496\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8496\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Mysq-wampserver.jpg\" alt=\"Mysq-wampserver\" width=\"367\" height=\"310\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Mysq-wampserver.jpg 367w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2016\/01\/Mysq-wampserver-300x253.jpg 300w\" sizes=\"auto, (max-width: 367px) 100vw, 367px\" \/><\/a><\/p>\n<p><strong>Ultimando<\/strong>.<\/p>\n<p>Una vez montado el servidor, podremos usarle para realizar pruebas, proyectos locales.<\/p>\n<p>Pero si lo que deseamos es que accedan los usuarios desde el exterior, tendremos que ofrecer una IP p\u00fablica a los dem\u00e1s y para ello existen diversas posibilidades.<\/p>\n<p>Si nos encontramos detr\u00e1s de un <strong>router<\/strong>, tendremos que tocar los par\u00e1metros del mismo, sobre todo el <strong>NAT<\/strong>, para que las peticiones realizadas al puerto <strong>HTTP<\/strong> que por defecto son el <strong>80<\/strong>, vayan hacia el 80 de nuestra maquina con IP privada.<\/p>\n<p>Por otro lado, para asociar un dominio, tendremos que tener en cuenta 2 cuestiones.<\/p>\n<p>Primero si poseemos ya un control de<strong> DNS parciale<\/strong>s, tendremos que tocar las de tipo A www, o el nombre para que apunten a la IP externa de nuestro router.<\/p>\n<p>Existe otra posibilidad, sin necesidad de tener un servidor DNS, ni de pagar por un dominio, de asociar nuestra IP a un dominio\u00a0 gratuito de\u00a0 tipo din\u00e1mico.\u00a0 Por ejemplo <strong>DynDNS<\/strong>, <strong>DonDNS<\/strong>, <strong>Namecheap FREEDNS<\/strong>, etc.<\/p>\n<p>Para finalizar, la pr\u00f3xima entrada, instalar\u00e9 un WordPress en WAMPSERVER y explicar\u00e9 la potencia del<strong> plugin TYPES y VIEWs.<\/strong><br \/>\nOs aseguro que nos dar\u00e1 una nueva perspectiva para crear estructuras de datos dentro de wordpress sin necesidad de programar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esta entrada promete ser larga, por eso, os recomiendo paciencia a la hora de leerla, ya que como todas las cosas, uno comienza escribiendo y se acaba con 20 p\u00e1ginas. Pero creo que debe ser as\u00ed, si se quiere explicar bien que es lo que deseamos hacer. El prop\u00f3sito de este post es hablaros sobre como montar un servidor de paginas web de forma gratuita sobre Windows 10 (aunque funcionaria igual sobre otras versiones del Sistema Operativo), que soporte Apache, PHP y MySQL, y todo ello de forma &#8220;extremadamente&#8221; sencilla. Gracias a WampServer (aunque existen alternativas y tambi\u00e9n bastante buenas, como XAMP, MAMP, etc.). &nbsp;<\/p>\n","protected":false},"author":1,"featured_media":4700,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[620,702,7,691],"tags":[440,37,667,251],"class_list":["post-8491","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mysql","category-servidores","category-software","category-windows-10","tag-apache","tag-mysql","tag-php","tag-windows"],"_links":{"self":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/8491","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/comments?post=8491"}],"version-history":[{"count":11,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/8491\/revisions"}],"predecessor-version":[{"id":8516,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/8491\/revisions\/8516"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media\/4700"}],"wp:attachment":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media?parent=8491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/categories?post=8491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/tags?post=8491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}