{"id":130,"date":"2014-02-13T16:31:57","date_gmt":"2014-02-13T16:48:45","guid":{"rendered":"https:\/\/114feserv.jpg"},"modified":"2015-07-16T20:29:11","modified_gmt":"2015-07-17T02:29:11","slug":"la-funcion-_server-en-php","status":"publish","type":"post","link":"https:\/\/emanuelpaxtian.com\/blog\/la-funcion-_server-en-php\/","title":{"rendered":"La funcion $_SERVER en php"},"content":{"rendered":"<p>$_SERVER es un array que contiene informaci\u00f3n, tales como cabeceras, rutas y localizaciones del c\u00f3digo, es de gran importancia cuando queremos saber la direccion ip o nombre del servidor desde donde se ejecutan nuestros scripts.<\/p>\n<p><strong>$_SERVER[&#8216;PHP_SELF&#8217;]<\/strong><br \/>\nEl nombre de archivo del script ejecut\u00e1ndose actualmente, relativo a la raiz de documentos.<br \/>\nPor ejemplo, $_SERVER[&#8216;PHP_SELF&#8217;] en un script en la direcci\u00f3n http:\/\/example.com\/test.php\/foo.bar seria \/test.php\/foo.bar.<\/p>\n<p><strong>$_SERVER[&#8216;GATEWAY_INTERFACE&#8217;]<\/strong><br \/>\nQu\u00e9 revisi\u00f3n de la especificaci\u00f3n CGI est\u00e1 usando el servidor; es decir &#8216;CGI\/1.1&#8217;.<\/p>\n<p><strong>$_SERVER[&#8216;SERVER_ADDR&#8217;]<\/strong><br \/>\nLa direcci\u00f3n IP del servidor bajo la cual est\u00e1 siendo ejecutado el script actual.<\/p>\n<p><strong>$_SERVER[&#8216;SERVER_NAME&#8217;]<\/strong><br \/>\nEl nombre del servidor anfitri\u00f3n bajo el que est\u00e1 siendo ejecutado el script actual. Si el script est\u00e1 corriendo en un host virtual, \u00e9ste ser\u00e1 el valor definido para ese host virtual.<\/p>\n<p><strong>$_SERVER[&#8216;SERVER_SOFTWARE&#8217;]<\/strong><br \/>\nCadena de identificaci\u00f3n del servidor, dada en las cabeceras cuando se responde a peticiones.<\/p>\n<p><strong>$_SERVER[&#8216;SERVER_PROTOCOL&#8217;]<\/strong><br \/>\nNombre y revisi\u00f3n del protocolo de informaci\u00f3n mediante el cual fue solicitada la p\u00e1gina; es decir, &#8216;HTTP\/1.0&#8217;;<\/p>\n<p><strong>$_SERVER[&#8216;REQUEST_METHOD&#8217;]<\/strong><br \/>\nCu\u00e1l m\u00e9todo de petici\u00f3n fue usado para acceder a la p\u00e1gina; es decir, &#8216;GET&#8217;, &#8216;HEAD&#8217;, &#8216;POST&#8217;, &#8216;PUT&#8217;.<\/p>\n<p><strong>$_SERVER[&#8216;REQUEST_TIME&#8217;]<\/strong><br \/>\nLa marca de tiempo del inicio de la petici\u00f3n. Disponible desde PHP 5.1.0.<\/p>\n<p><strong>$_SERVER[&#8216;QUERY_STRING&#8217;]<\/strong><br \/>\nLa cadena de consulta, si existe, mediante la cual se accedi\u00f3 a la p\u00e1gina.<\/p>\n<p><strong>$_SERVER[&#8216;DOCUMENT_ROOT&#8217;]<\/strong><br \/>\nEl directorio raiz de documentos bajo el que est\u00e1 siendo ejecutado el script actual, tal y como se define en el archivo de configuraci\u00f3n del servidor.<\/p>\n<p><strong>$_SERVER[&#8216;HTTP_ACCEPT&#8217;]<\/strong><br \/>\nContenidos de la cabecera Accept: de la petici\u00f3n actual, si existe.<\/p>\n<p><strong>$_SERVER[&#8216;HTTP_ACCEPT_CHARSET&#8217;]<\/strong><br \/>\nContenidos de la cabecera Accept-Charset: de la petici\u00f3n actual, si existe. Ejemplo: &#8216;iso-8859-1,*,utf-8&#8217;.<\/p>\n<p><strong>$_SERVER[&#8216;HTTP_ACCEPT_ENCODING&#8217;]<\/strong><br \/>\nContenidos de la cabecera Accept-Encoding: de la petici\u00f3n actual, si existe. Ejemplo: &#8216;gzip&#8217;.<\/p>\n<p><strong>$_SERVER[&#8216;HTTP_ACCEPT_LANGUAGE&#8217;]<\/strong><br \/>\nContenidos de la cabecera Accept-Language: de la petici\u00f3n actual, si existe. Ejemplo: &#8216;en&#8217;.<\/p>\n<p><strong>$_SERVER[&#8216;HTTP_CONNECTION&#8217;]<\/strong><br \/>\nContenidos de la cabecera Connection: de la petici\u00f3n actual, si existe. Ejemplo: &#8216;Keep-Alive&#8217;.<\/p>\n<p><strong>$_SERVER[&#8216;HTTP_HOST&#8217;]<\/strong><br \/>\nContenidos de la cabecera Host: de la petici\u00f3n actual, si existe.<\/p>\n<p><strong>$_SERVER[&#8216;HTTP_REFERER&#8217;]<\/strong><br \/>\nLa direcci\u00f3n de la p\u00e1gina (si la hay) la cual refiri\u00f3 al agente de usuario a la p\u00e1gina actual (desde que p\u00e1gina a accedido a la actual). Este valor es definido por el agente de usuario. No todos los agentes de usuario lo definen, y algunos proveen la capacidad de modificar HTTP_REFERER como una caracteristica del software. En resumen, no se puede confiar realmente en este valor.<\/p>\n<p><strong>$_SERVER[&#8216;HTTP_USER_AGENT&#8217;]<\/strong><br \/>\nContenidos de la cabecera User-Agent: de la petici\u00f3n actual, si existe. Esta es una cadena que denota el agente de usuario que est\u00e1 accediendo a la p\u00e1gina. Un ejemplo tipico es: Mozilla\/4.5 [en] (X11; U; Linux 2.2.9 i586). Entre otras cosas, puede usar este valor con get_browser() para personalizar la salida de su p\u00e1gina a las capacidades del agente de usuario.<\/p>\n<p><strong>$_SERVER[&#8216;HTTPS&#8217;]<\/strong><br \/>\nDefinido con un valor no-vacio si el script fue solicitado a trav\u00e9s del protocolo HTTPS. Note que cuando se usa ISAPI con IIS, el valor ser\u00e1 off si la petici\u00f3n no fue hecha a trav\u00e9s del protocolo HTTPS.<\/p>\n<p><strong>$_SERVER[&#8216;REMOTE_ADDR&#8217;]<\/strong><br \/>\nLa direcci\u00f3n IP desde donde el usuario est\u00e1 observado la p\u00e1gina actual.<\/p>\n<p><strong>$_SERVER[&#8216;REMOTE_HOST&#8217;]<\/strong><br \/>\nEl nombre Host desde donde el usuario est\u00e1 viendo la p\u00e1gina actual. La consulta dns de vuelta est\u00e1 basada en el valor REMOTE_ADDR del usuario.<br \/>\nNota: Su servidor web debe estar configurado para crear esta variable. Por ejemplo, en Apache necesitar\u00e1 HostnameLookups On dentro de httpd.conf para que exista. Vea tambi\u00e9n gethostbyaddr().<\/p>\n<p><strong>$_SERVER[&#8216;REMOTE_PORT&#8217;]<\/strong><br \/>\nEl puerto que est\u00e1 siendo usado en la m\u00e1quina del usuario para comunicarse con el servidor web.<\/p>\n<p><strong>$_SERVER[&#8216;SCRIPT_FILENAME&#8217;]<\/strong><br \/>\nLa ruta absoluta del nombre del script siendo ejecutado actualmente.<br \/>\nNota: Si un script es ejecutado en el entorno CLI usando una ruta relativa, tal como archivo.php o ..\/archivo.php, $_SERVER[&#8216;SCRIPT_FILENAME&#8217;] contendr\u00e1 la ruta relativa especificada por el usuario.<\/p>\n<p><strong>$_SERVER[&#8216;SERVER_ADMIN&#8217;]<\/strong><br \/>\nEl valor dado a la directiva SERVER_ADMIN (para Apache) en el archivo de configuraci\u00f3n del servidor web. Si el script est\u00e1 siendo ejecutado en un host virtual, \u00e9ste ser\u00e1 el valor definido para ese host virtual.<\/p>\n<p><strong>$_SERVER[&#8216;SERVER_PORT&#8217;]<\/strong><br \/>\nEl puerto en el equipo servidor que est\u00e1 siendo usado por el servidor web para comunicaci\u00f3n. En configuraciones predeterminadas, ese valor ser\u00e1 &#8217;80&#8217;; usando SSL, por ejemplo, este valor cambiar\u00e1 a cualquiera que sea el puerto que est\u00e9 definido para HTTP seguro.<\/p>\n<p><strong>$_SERVER[&#8216;SERVER_SIGNATURE&#8217;]<\/strong><br \/>\nCadena que contiene la versi\u00f3n del servidor y el nombre de host virtual que es agregado a las p\u00e1ginas generadas por el servidor, si est\u00e1 habilitada esta funcionalidad.<\/p>\n<p><strong>$_SERVER[&#8216;PATH_TRANSLATED&#8217;]<\/strong><br \/>\nRuta sobre el sistema de archivos (no la ra\u00edz de documentos) al script actual, luego de que el servidor haya realizado cualquier asignaci\u00f3n al vuelo virtual-a-real.<br \/>\nNota: A partir de PHP 4.3.2, PATH_TRANSLATED ya no se define impl\u00edcitamente bajo la SAPI de Apache 2, a diferencia de lo que ocurre en Apache 1, en donde se define con el mismo valor de la variable de servidor SCRIPT_FILENAME cuando Apache no se encarga de definirlo. Este cambio fue realizado para cumplir con la especificaci\u00f3n CGI de que PATH_TRANSLATED debe existir \u00fanicamente si PATH_INFO se define. Los usuarios de Apache 2 pueden usar AcceptPathInfo = On al interior de httpd.conf para definir PATH_INFO.<\/p>\n<p><strong>$_SERVER[&#8216;SCRIPT_NAME&#8217;]<\/strong><br \/>\nContiene la ruta del script actual. \u00c9sta es \u00fatil para p\u00e1ginas que necesitan apuntar a ellas mismas. La constante __FILE__ contiene la ruta completa y nombre del archivo actual (es decir, incluido).<\/p>\n<p><strong>$_SERVER[&#8216;REQUEST_URI&#8217;]<\/strong><br \/>\nEl URI que fue dado para acceder a esta p\u00e1gina; por ejemplo, &#8216;\/index.html&#8217;.<\/p>\n<p><strong>$_SERVER[&#8216;PHP_AUTH_DIGEST&#8217;]<\/strong><br \/>\nCuando se est\u00e1 corriendo bajo Apache como m\u00f3dulo, realizando autenticaci\u00f3n HTTP Digest, esta variable recibe el valor de la cabecera &#8216;Authorization&#8217; enviada por el cliente (la cual deber\u00eda ser usada para efectuar la validaci\u00f3n apropiada).<\/p>\n<p><strong>$_SERVER[&#8216;PHP_AUTH_USER&#8217;]<\/strong><br \/>\nCuando se corre sobre Apache o IIS (ISAPI en PHP 5) como m\u00f3dulo realizando autenticaci\u00f3n HTTP, esta variable es definida con el nombre de usuario definido por el cliente.<\/p>\n<p><strong>$_SERVER[&#8216;PHP_AUTH_PW&#8217;]<\/strong><br \/>\nCuando se corre sobre Apache o IIS (ISAPI en PHP 5) como m\u00f3dulo realizando autenticaci\u00f3n HTTP, esta variable es definida con la contrase\u00f1a entregada por el usuario.<\/p>\n<p><strong>$_SERVER[&#8216;AUTH_TYPE&#8217;]<\/strong><br \/>\nCuando se corre sobre Apache como m\u00f3dulo realizando autenticaci\u00f3n HTTP, esta variable es definida con el tipo de autenticaci\u00f3n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>$_SERVER es un array que contiene informaci\u00f3n, tales como cabeceras, rutas y localizaciones del c\u00f3digo, es de gran importancia cuando queremos saber la direccion ip o nombre del servidor desde&hellip;<\/p>\n","protected":false},"author":1,"featured_media":489,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-130","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php"],"_links":{"self":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts\/130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/comments?post=130"}],"version-history":[{"count":0,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts\/130\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/media\/489"}],"wp:attachment":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/media?parent=130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/categories?post=130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/tags?post=130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}