Your SlideShare is downloading. ×
Página 1PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.h...
Página 2PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.h...
Página 3PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.h...
Página 4PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.h...
Página 5PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.h...
Página 6PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.h...
Página 7PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.h...
Página 8PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.h...
Página 9PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.h...
Página 10PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 11PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 12PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 13PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 14PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 15PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 16PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 17PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 18PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 19PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 20PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 21PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 22PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 23PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 24PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 25PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Página 26PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es....
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Manual de php 5.4
Upcoming SlideShare
Loading in...5
×

Manual de php 5.4

9,450

Published on

Manual de referencias de PHP

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,450
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "Manual de php 5.4"

  1. 1. Página 1PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlManual de PHPpor:Mehdi AchourFriedhelm BetzAntony DovgalNuno LopesHannes MagnussonGeorg RichterDamien SeguyJakub VranaY muchos otros2012-03-02Editado por: Philip Olsonpor:¿Quieres ayudarnos a traducir? ponte en contacto con: yago[arroba]php.netTraduciendo desde Dic-2009. Estado: 82% completo y al día.Lista de encargados del mantenimiento y traducción por número de ficheros:1.Pedro Antonio Gil Rodríguez2.Yago Ferrer3.Jesús Ruiz-Ayúcar Vázquez4.Andrés García5.Jesús Rafael Cova Huerta6.Alexander Garzóny muchos más...© 1997-2012 the PHP Documentation GroupCopyrightCopyright © 1997 - 2012 por el PHP Documentation Group. Este material puede ser distribuido solamente sujeto a los términos y condicionesestablecidos por la licencia de Creative Commons Attribution 3.0 o superior. Una copia de la Licencia de Commons Attribution 3.0 está distribuidacon este manual. La versión más reciente está disponible en » http://creativecommons.org/licenses/by/3.0/.Si está interesado en su redistribución o republicación de este documento completa o parcialmente, con o sin modificaciones, y si tiene algunapregunta, por favor contacte con los propietarios del Copyright en » doc-license@lists.php.net. Observe que esta dirección está ligada a una lista decorreo pública.Manual de PHPPrefacioPHP, acrónimo de "PHP: Hypertext Preprocessor", es un lenguaje "Open Source" interpretado de alto nivel, especialmente pensado para desarrollosweb y el cual puede ser incrustado en páginas HTML. La mayoría de su sintaxis es similar a C, Java y Perl y es fácil de aprender. La meta de estelenguaje es permitir escribir a los creadores de páginas web, páginas dinámicas de una manera rápida y fácil, aunque se pueda hacer mucho más conPHP.Este manual contiene principalmente una referencia de funciones PHP, también contiene una referencia del lenguaje, explicaciones de algunas de lascaracterísticas importantes de PHP otra información suplementaria.Este manual se puede conseguir en diferentes formatos en » http://www.php.net/download-docs.php. Más información sobre como este manual esdesarrollado puede encontrarse en el apéndice Sobre este manual. Si está interesado en la Historia de PHP, visite el capítulo correspondiente.Autores y ContribuyentesNosotros destacamos a las personas actualmente más activas al frente del manual, pero hay muchos más contribuyentes que nos ayudan en nuestrotrabajo o han brindado una gran cantidad de ayuda al proyecto en el pasado. Hay muchísima gente anónima que ayudó con notas de usuarios en las
  2. 2. Página 2PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlNosotros destacamos a las personas actualmente más activas al frente del manual, pero hay muchos más contribuyentes que nos ayudan en nuestrotrabajo o han brindado una gran cantidad de ayuda al proyecto en el pasado. Hay muchísima gente anónima que ayudó con notas de usuarios en laspáginas del manual, que continuamente son incluidos en las referencias, labor de la que también estamos muy agradecidos. Todas las listas acontinuación están en orden alfabético.Autores y EditoresLos siguientes contribuyentes deberían ser reconocidos por el impacto de lo que han hecho y/o continúan haciendo añadiendo contenido al manual:Bill Abt, Jouni Ahto, Alexander Aulbach, Daniel Beckham, Stig Bakken, Nilgün Belma Bugüner, Jesus M. Castagnetto, Ron Chmara, Sean Coates,John Coggeshall, Simone Cortesi, Peter Cowburn, Daniel Egeberg, Markus Fischer, Wez Furlong, Sara Golemon, Rui Hirokawa, Brad House, Pierre-Alain Joye, Etienne Kneuss, Moriyoshi Koizumi, Rasmus Lerdorf, Andrew Lindeman, Stanislav Malyshev, Justin Martin, Rafael Martinez, RickMcGuire, Moacir de Oliveira Miranda Júnior, Kalle Sommer Nielsen, Yasuo Ohgaki, Richard Quadling, Derick Rethans, Rob Richards, SanderRoobol, Egon Schmid, Thomas Schoefbeck, Sascha Schumann, Dan Scott, Masahiro Takagi, Yannick Torres, Michael Wallner, Lars Torben Wilson,Jim Winstead, Jeroen van Wolffelaar y Andrei Zmievski.Los siguientes contribuyentes han hecho un importante trabajo editando el manual: Stig Bakken, Gabor Hojtsy, Hartmut Holzgraefe y Egon Schmid.Mantenedores de las Notas de UsuariosLos mantenedores actualmente más activos son: Daniel Brown, Nuno Lopes, Felipe Pena, Thiago Pojda y Maciek Sokolewicz.Estas personas también pusieron mucho esfuerzo en la administración de las notas de usuarios: Mehdi Achour, Daniel Beckham, Friedhelm Betz,Victor Boivie, Jesus M. Castagnetto, Nicolas Chaillan, Ron Chmara, Sean Coates, James Cox, Vincent Gevers, Sara Golemon, Zak Greant, SzabolcsHeilig, Oliver Hinckel, Hartmut Holzgraefe, Etienne Kneuss, Rasmus Lerdorf, Matthew Li, Andrew Lindeman, Aidan Lister, Hannes Magnusson,Maxim Maletsky, Bobby Matthis, James Moore, Philip Olson, Sebastian Picklum, Derick Rethans, Sander Roobol, Damien Seguy, Jason Sheets,Tom Sommer, Jani Taskinen, Yasuo Ohgaki, Jakub Vrana, Lars Torben Wilson, Jim Winstead, Jared Wyles y Jeroen van Wolffelaar.PrefacioConceptos básicosIntroducciónTabla de contenidos¿Qué es PHP?¿Qué se puede hacer con PHP?¿Qué es PHP?PHP (acrónimo de PHP: Hypertext Preprocessor) es un lenguaje de código abierto muy popular especialmente adecuado para desarrollo web y quepuede ser incrustado en HTML.Una respuesta corta y concisa, pero, ¿qué significa realmente? Un ejemplo nos aclarará las cosas:Ejemplo #1 Un ejemplo introductorio<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Example</title></head><body><?phpecho "Hola, ¡soy un script PHP!";?>
  3. 3. Página 3PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html?></body></html>En lugar de usar muchos comandos para mostar HTML (como en C o Perl), páginas PHP contienen HTML con código incluido en el mismo que hace"algo" (en este caso, mostrar "Hola ¡soy un script PHP!). El código PHP está entre medio de etiquetas de comienzo y final especiales<?php y ?> quenos permitirán entrar y salir del "modo PHP".Lo que distingue a PHP de algo lado-cliente como Javascript, es que el código es ejecutado en el servidor, generando HTML y enviándolo al cliente.El cliente recibirá los resultados de ejecutar el script, sin ninguna posibilidad de determinar qué código ha producido el resultado recibido. Elservidor web puede ser incluso configurado para que procese todos los archivos HTML con PHP y entonces no hay manera que los usuarios puedansaber que tienes debajo de la manga.Lo mejor de usar PHP es que es extremadamente simple para el principiante, pero a su vez, ofrece muchas características avanzadas para losprogramadores profesionales. No sienta miedo de leer la larga lista de características de PHP, en poco tiempo podrá empezar a escribir sus primerosscripts.Aunque el desarrollo de PHP está centrado en programación de scripts en lado-servidor, se puede utilizar para muchas otras cosas. Siga leyendo ydescubra más sobre PHP en la sección ¿Qué se puede hacer con PHP? o vaya directo al tutorial de introducción si solamente está interesado enprogramación web.¿Qué se puede hacer con PHP?PHP puede hacer cualquier cosa que se pueda hacer con un script CGI, como procesar la información de formularios, generar páginas con contenidosdinámicos, o enviar y recibir cookies. Y esto no es todo, se puede hacer mucho más.Existen principalmente tres campos en los que se usan scripts en PHP.Scripts del lado-servidor. Este es el campo más tradicional y el principal foco de trabajo. Se necesitan tres cosas para que esto funcione. Elintérprete PHP (CGI módulo), un servidor web y un navegador. Es necesario hacer funcionar el servidor, con PHP instalado. El resultado delprograma PHP se puede obtener a través del navegador, conectándose con el servidor web. Consultar la sección Instrucciones de instalaciónpara más información.Scripts en la línea de comandos. Puede crear un script PHP y correrlo sin necesidad de un servidor web o navegador. Solamente necesita elintérprete PHP para usarlo de esta manera. Este tipo de uso es ideal para scripts ejecutados regularmente desde cron (en *nix o Linux) o elPlanificador de tareas (en Windows). Estos scripts también pueden ser usados para tareas simples de procesamiento de texto. Consultar lasección Usos de PHP en la línea de comandos para más información.Escribir aplicaciones de interfaz gráfica. Probablemente PHP no sea el lenguaje más apropiado para escribir aplicaciones gráficas, pero siconoce bien PHP, y quisiera utilizar algunas características avanzadas en programas clientes, puede utilizar PHP-GTK para escribir dichosprogramas. También es posible escribir aplicaciones independientes de una plataforma. PHP-GTK es una extensión de PHP, no disponible enla distribución principal. Si está interesado en PHP-GTK, puedes visitar las » páginas web del proyecto.PHP puede ser utilizado en cualquiera de los principales sistemas operativos del mercado, incluyendo Linux, muchas variantes Unix (incluyendo HP-UX, Solaris y OpenBSD), Microsoft Windows, Mac OS X, RISC OS y probablemente alguno más. PHP soporta la mayoría de servidores web de hoyen día, incluyendo Apache, IIS, y muchos otros. Esto incluye cualquier servidor web que pueda utilizar el binario PHP de FastCGI, como lighttpd ynginx. PHP funciona ya sea como un módulo, o como un procesador de CGI.De modo que, con PHP tiene la libertad de elegir el sistema operativo y el servidor web de su gusto. Además, tiene la posibilidad de utilizarprogramación por procedimientos, programación orientada a objetos (POO), o una mezcla de ambas.Con PHP no se encuentra limitado a resultados en HTML. Entre las habilidades de PHP se incluyen: creación de imágenes, archivos PDF e inclusopelículas Flash (usando libswf y Ming) sobre la marcha. También puede presentar otros resultados, como XHTML y cualquier otro tipo de ficherosXML. PHP puede autogenerar éstos archivos y almacenarlos en el sistema de archivos en vez de presentarlos en la pantalla, creando un caché en ellado-servidor para contenido dinámico.Una de las características más potentes y destacables de PHP es su soporte para una gran cantidad de bases de datos. Escribir una página web conacceso habilitado a una base de datos es increiblemente simple utilizando una de las extensiones específicas (por ejemplo, para mysql), o utilizar unacapa de abstracción como PDO, o conectarse a cualquier base de datos que soporte el estándar de Conexión Abierta a Bases de Datos por medio dela extensión ODBC. Otras bases de datos podrían utilizar cURL o sockets, como lo hace CouchDB.PHP también cuenta con soporte para comunicarse con otros servicios usando protocolos tales como LDAP, IMAP, SNMP, NNTP, POP3, HTTP,COM (en Windows) y muchos otros. También se pueden crear sockets puros e interactuar usando cualquier otro protocolo. PHP soporta WDDX parael intercambio de datos entre lenguajes de programación en web. Y hablando de interconexión, PHP puede utilizar objetos Java de formatransparente como objetos de PHP.
  4. 4. Página 4PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlel intercambio de datos entre lenguajes de programación en web. Y hablando de interconexión, PHP puede utilizar objetos Java de formatransparente como objetos de PHP.PHP tiene útiles características de procesamiento de texto, las cuales incluyen las Expresiones Regulares Compatibles de Perl (PCRE), muchasextensiones, y herramientas para el acceso y análisis de documentos XML. PHP estandardiza todas las extensiones XML sobre el fundamento sólidode libxml2, y extiende este conjunto de características añadiendo soporte para SimpleXML, XMLReader y XMLWriter.Existen otras extensiones interesantes, las cuales están categorizadas alfabéticamente y por categoría. Hay extensiones adicionales PECL que podríanestar documentadas o no dentro del manual de PHP, tal como » XDebug.Como puede apreciar, esta página no es suficiente para enumerar todas las características y beneficios que PHP ofrece. Consulte las seccionesInstalación de PHP y Referencia de las funciones para una explicación de las extensiones mencionadas aquí.Un tutorial sencilloTabla de contenidos¿Qué necesito?Su primera página con PHPAlgo útilUso de FormulariosUsando código antiguo en nuevas versiones de PHP¿Y ahora qué?A continuación, nos gustaría mostrate las bases de PHP en un corto y sencillo tutorial. Este documento explica cómo crear páginas web dinámicascon PHP, aunque PHP no solamente es capaz de crear páginas web. Consulte la sección titulada ¿Qué se puede hacer con PHP? para másinformación.Las páginas web que usan PHP se tratan igual que páginas HTML comunes y corrientes, y se pueden crear o editar de la misma manera quenormalmente crea páginas HTML.¿Qué necesito?En este manual asumimos que cuenta con un servidor que soporta PHP y que todos los archivos con la extensión .php son usados por PHP. En lamayoría de servidores, ésta es la extensión que toman los archivos PHP por defecto, pero pregunte al administrador de su servidor para estar seguro.Si su servidor soporta PHP, entonces no necesita hacer nada, solamente crear sus archivos .php y guardarlos en su directorio web y el servidor losanalizará por usted. No hay necesidad de compilar nada o instalar otras herramientas. Mírelo de esta manera, los archivos PHP son tan simples comoarchivos de HTML con el añadido de una nueva familia de etiquetas que permiten todo tipo de cosas. La mayoría de las compañías de hospedaje depáginas web ofrecen el soporte que necesita para usar PHP, pero si por alguna razón ellos no lo hacen, considere leer la sección titulada » RecursosPHP para más información acerca de compañías de hospedaje que soportan PHP.Digamos que quiere ahorrar preciado ancho de banda y programar en local. En este caso, querrá instalar un servidor web, como » Apache, y porsupuesto » PHP. Lo más seguro es que también quiera instalar una base de datos como » MySQL.Instálelos de forma independientemente o bien puede elegir una manera más sencilla. Nuestro manual contiene Instrucciones de instalación de PHP(asumiendo que tiene algún tipo de servidor web ya configurado). Si tuviera problemas con la instalación, sugerimos que haga sus preguntas ennuestra » lista de correo de instalación. Si elige la manera más sencilla, entonces » localice paquete pre-configurado para su sistema operativo,incluyendo MacOSX, Linux y Windows. En Linux, quizá encuentra que » rpmfind y » PBone le son de ayuda para encontrar los RPMs. Paraencontrar paquetes para Debian quizá quiera visitar » apt-get.Su primera página con PHPComienze por crear un archivo llamado hola.php y póngalo en el "directorio raíz" (DOCUMENT_ROOT) con el siguiente contenido:Ejemplo #1 Nuestro primer script PHP: hola.php<html><head><title>Ejemplo PHP</title>
  5. 5. Página 5PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html<title>Ejemplo PHP</title></head><body><?php echo <p>Hola Mundo</p>; ?></body></html>Utilice su navegador web para acceder al archivo en su servidor, con la URL terminando en /hola.php. Si está programando localmente este URLserá algo como http://localhost/hola.php o http://127.0.0.1/hola.php pero esto depende de la configuración de su servidor web. Si todo estáconfigurado correctamente, el fichero será analizado por PHP y el siguiente contenido aparecerá en su navegador:<html><head><title>Ejemplo PHP</title></head><body><p>Hola mundo</p></body></html>Este script es extremadamente simple y no es necesario usar PHP para crear una página como esta. Lo único que muestra es: Hola mundo usando lafunción de PHP echo(). El fichero no debe ser ejecutable o especial de ninguna forma. El servidor reconoce que este fichero debe ser interpretado porPHP porque estamos usando la extensión ".php", el cuál está configurado para enviarlo a PHP. Piensa como si fuera un fichero HTML normal el cualtiene una serie de etiquetas especiales disponibles con las que puedes hacer muchas cosas interesantes.Si ha intentado usar este ejemplo y no produjo ningún resultado, preguntando si deseaba descargar el archivo, o mostró todo el archivo como texto, lomás seguro es que PHP no se encuentra habilitado en su servidor. Pídale a su administrador que active esta función usando el capítulo tituladoInstalación en el manual. Si está trabajando localmente, lea también el capítulo dedicado a la instalación para asegurarse de que todo estéconfigurado apropiadamente. Asegúrese que está accediendo al fichero vía http a través del servidor para mostrar el resultado. Si está abriendo elarchivo desde el sistema de archivos, entonces probablemente no estará siendo analizado por PHP. Si el problema persiste no dude en usar alguna delas múltiples opciones de » Soporte de PHP.El objetivo de este ejemplo es demostrar cómo puede usar el formato especial de las etiquetas PHP. En este ejemplo usamos <?php para indicar elinicio de la etiqueta PHP. Después indicamos la sentencia y abandonamos el modo PHP usando ?>. Puede salir de PHP y regresar cuantas veces lodesee usando este método. Para más información, puede leer la sección en el manual titulada Sintaxis básica de PHP.Nota: sobre los avances de líneaLos avances de línia tienen poco sentido en HTML, igualmente sigue siendo buena idea hacer que el código HTML se vea limpio y bien,poniendo avances de línea. PHP automáticamente eliminará los avances de línea puestos inmediatamente después de cerrar ?>. Esto puedeser muy útil si pone muchos bloques de PHP o incluye ficheros que contienen PHP que no se supone que deban mostarar nada. Al mismotiempo, puede resultar un poco confuso. Se puede poner un espacio después de cerrar ?> para forzar el mostrar un espacio y un avance delínea , o se puede poner un avance de línea explícitamente en el último echo o print dentro de tu bloque en PHP.Nota: acerca de editores de textoHay muchos editores de texto y Entornos Integrados de Desarrollo (IDE por sus siglas en Inglés) que puede usar para crear, editar, y organizararchivos PHP. Puede encontrar una lista parcial de éstos en » Lista de editores de PHP. Si desea recomendar un editor, por favor visite lapágina mencionada anteriormente, y comunique su recomendación a las personas encargadas del mantenimiento para que lo incluyan en lalista. Contar con un editor que resalte la sintaxis de PHP puede ser de mucha ayuda.Nota: acerca de los procesadores de textoLos procesadores de texto como StarOffice Writer, Microsoft word y Abiword no son buenas opciones para editar archivos de PHP. Si deseausar uno de éstos programas para probar sus scripts, primero debe asegurarse de guardar el documento en texto sin formato o PHP no serácapaz de leer y ejecutar el script.Nota: acerca del "Bloc de Notas de Windows"Si escribe sus archivos PHP usando el "Bloc de Notas de Windows", debe asegurarse de que sus archivos sean guardados con la extensión.php (El Bloc de Notas automáticamente añade la extensión .txt a los archivos a menos que tome los siguientes pasos para prevenirlo).Cuando guarde sus archivos y el programa le pregunte qué nombre le desea dar al archivo, use comillas para indicar el nombre (es decir,"hola.php"). Una alternativa es, en la lista de opciones "Archivos de Texto *.txt", seleccionar la opción "Todos los archivos *.*". Aquí puedeescribir el nombre del archivo sin las comillas.Ahora que ha creado un pequeño script de PHP que funciona correctamente, es hora de trabajar con el script de PHP más famoso; vamos a hacer unallamada a la función phpinfo() para obtener información acerca de su sistema y configuración como las variables predefinidas disponibles, losmódulos utilizados por PHP, y las diferentes opciones de configuración. Tomemos algo de tiempo para revisar esta información.Ejemplo #2 Obtener la información del sistema desde PHP
  6. 6. Página 6PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlEjemplo #2 Obtener la información del sistema desde PHP<?php phpinfo(); ?>Algo útilHagamos ahora algo que puede ser más útil. Vamos a comprobar qué clase de navegador está utilizando el usuario. Para hacerlo, vamos a consultar lainformación que el navegador nos envía como parte de su petición HTTP. Esta información es guardada en una variable. Las variables siemprecomienzan con un signo de dólar ("$") en PHP. La variable que vamos a utilizar en esta situación es $_SERVER[HTTP_USER_AGENT].Nota:$_SERVER es una variable especial reservada por PHP que contiene toda la información del servidor web. Es conocida como Superglobal.Consulte el manual en su sección titulada Superglobales para más información. Éstas variables especiales fueron introducidas en la versión» 4.1.0 de PHP. Antes podíamos usar las arrays $HTTP_*_VARS, tales como $HTTP_SERVER_VARS. Aunque éstas han sido marcadas comoobsoletas, tales arrays todavía existen. (También puede echar un vistazo a las notas relacionadas con el código antiguo.)Para mostrar esta variable, se puede simplemente hacer:Ejemplo #1 Imprimir una variable (Elemento array)<?phpecho $_SERVER[HTTP_USER_AGENT];?>Un ejemplo del resultado de esta secuencia de comandos sería:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)Hay muchos tipos de variables en PHP. En el ejemplo anterior imprimimos un array. Los arrays pueden ser muy útiles.$_SERVER es simplemente una variable que se encuentra disponible automáticamente en PHP. Puede encontrar una lista en la sección tituladaVariables Reservadas del manual, o puede generar una lista completa creando un archivo como el ejemplo de la sección anterior.Puede usar más de un declaración PHP dentro de una etiqueta PHP, y crear pequeños segmentos de código que pueden hacer más que un único echo.Por ejemplo, si quisiéramos detectar el uso de Internet Explorer, haríamos algo así:Ejemplo #2 Ejemplo usando estructuras de control y functiones<?phpif (strpos($_SERVER[HTTP_USER_AGENT], MSIE) !== FALSE) {echo Está usando Internet Explorer.<br />;}?>Un ejemplo del resultado de esta secuencia de comandos sería:Está usando Internet Explorer.<br />A continuación introduciremos un par de conceptos nuevos. Tenemos una declaración if. Si está familiarizado con la sintaxis básica del lenguaje C,esto se vera lógico, Pero si no entiende C, u otros lenguajes de programación donde encuentra la sintaxis usada anteriormente, probablementedebería conseguir un libro que le introduzca mejor a PHP, y lea los primeros capítulos, o también puede ver la parte del manual titulada Referenciadel lenguaje parte del manual.El segundo concepto que introducimos fue la función llamada strstr(). strstr() es una función integrada de PHP que busca un cadena dentro de otracadena. En este caso anterior estamos buscando MSIE (llamado aguja) dentro de $_SERVER[HTTP_USER_AGENT] (llamado pajar). Si la cadenafue encontrada, la función devolverá la posición de la aguja relativa al inicio del pajar. De lo contrario devolverá FALSE. Si no devuelve FALSE, ladeclaración if se evalúa a TRUE y el código adentro de las llaves {} es ejecutado. De lo contrario, el código no será ejecutado. Tómese la libertad decrear ejemplos similares usando if, else, y otras funciones como strtoupper() y strlen(). Cada página del manual contiene ejemplos que puede usar. Sino está seguro sobre el modo de uso éstas funciones, es recomendable que lea las páginas del manual tituladas Cómo leer una definición de función yla sección relacionada a Funciones en PHP.Podemos continuar y demostrar cómo puede saltar adentro y afuera del modo PHP en el medio de un bloque de código:Ejemplo #3 Mezcla de los modos HTML y PHP
  7. 7. Página 7PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlEjemplo #3 Mezcla de los modos HTML y PHP<?phpif (strpos($_SERVER[HTTP_USER_AGENT], MSIE) !== FALSE) {?><h3>strpos() debe haber devuelto no falso</h3><p>Está usando Internet Explorer</p><?php} else {?><h3>strpos() debió devolver algo diferente de falso</h3><p>No está usando Internet Explorer</p><?php}?>Un ejemplo del resultado de la secuencia de comandos podría ser:<h3>strpos() debe haber devuelto falso</h3><p>Está usando Internet Explorer</p>En vez de usar una sentencia PHP echo para demostrar algo, saltamos fuera del código PHP y escribimos solamente HTML. Este es un punto muyimportante y potente que debemos observar aquí, y es que la fluidez lógica de la secuencia de comandos permanece intacta. Sólamente las partesdonde hay bloques HTML serán enviadas al visor dependiendo del resultado que strstr() devuelva. En otras palabras, si la cadena MSIE fueencontrada o no.Uso de FormulariosOtra de las características más importantes de PHP es que gestiona formularios HTML. El concepto básico que es importante entender es quecualquier elemento de los formularios estará disponible automáticamente en su código PHP. Por favor lea la sección del manual titulada Variablesfuera de PHP para más información y ejemplos sobre cómo usar formularios HTML con PHP. Observemos un ejemplo:Ejemplo #1 Un formulario HTML simple<form action="accion.php" method="post"><p>Su nombre: <input type="text" name="nombre" /></p><p>Su edad: <input type="text" name="edad" /></p><p><input type="submit" /></p></form>No hay nada especial en este formularo, es solamente HTML sin ninguna clase de etiquetas especiales de ningún tipo. Cuando el usuario rellena ésteformulario y oprime el botón Submit, una página titulada accion.php es llamada. En este archivo encontrará algo así:Ejemplo #2 Imprimir información desde nuestro formularioHola <?php echo htmlspecialchars($_POST[nombre]); ?>.Usted tiene <?php echo (int)$_POST[edad]; ?> años de edad.Un ejemplo del resultado de esta secuencia de comandos puede ser:Hola José. Usted tiene 22 años de edad.Aparte de las funciones htmlspecialchars() y (int), debería ser obvio lo que hace el código. htmlspecialchars() se asegura que todos los caracteres queson especiales en html sean codificados adecuadamente de manera que nadie pueda inyectar etiquetas HTML o Javascript en tu página web. Elcampo edad, como sabemos que es un número, podemos convertirlo en un integer que automáticamente se deshará de cualquier carácter no numérico.También puede hacer lo mismo con PHP con la extensión filter Las variables $_POST[nombre] y $_POST[edad] son establecidasautomáticamente por PHP. Anteriormente hemos usado la superglobal $_SERVER y ahora estamos apunto de introducirte la superglobal $_POST quecontiene todos los datos del POST. Dese cuenta que el método de nuestro formulario es POST. Si usa el método fuera GET entoces los datos delformulario estarían en la superglobal $_GET. en lugar de POST. En su lugar también puedes usar la superglobal $_REQUEST, si no le importa eltipo de datos enviados desde el formulario. Contiene toda la información de GET, POST y COOKIE. Vea también la función import_request_variables().En PHP, también puede tratar entradas desde formularios XForms; aunque probablemente en un comienzo se sienta a gusto con los formularios deHTML, que están ampliamente respaldados. A pesar de que los XForms no son trabajo de principiantes, es posible que tenga interés en ellos. Si es elcaso, en la sección características de la documentación puede encontrarse una pequeña introducción a la manipulación de datos recibidos desdeXForms.Usando código antiguo en nuevas versiones de PHP
  8. 8. Página 8PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlUsando código antiguo en nuevas versiones de PHPAhora que PHP ha crecido y se ha convertido en un lenguaje popular, hay muchos más repositorios y librerias que contienen código que puedereusar. Los desarrolladores de PHP han tratado en toda medida que sea compatible con versiones anteriores, es decir, si una secuencia de comandosfue escrita para una versión antigua en principio funcionaría (idealmente) sin ningún cambio en una versión reciente de PHP. A la práctica,usualmente algunos cambios son necesarios.Dos de los cambios mas importantes que afectan el código viejo son:La desaparición de las antiguas arrays $HTTP_*_VARS (que usualmente son usadas como globales al interior de una función o método). Lassiguientes variables superglobales que fueron introducidas en la versión » 4.1.0 de PHP. Son: $_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUEST, y $_SESSION. Las antiguas $HTTP_*_VARS, como $HTTP_POST_VARS, todavía existen. A partir de PHP5.0.0, las arrays de tipo long variables predefinidas se pueden desactivar con la directiva register_long_arrays .Las variables externas ya no son registradas globalmente de forma automática, por defecto. En otras palabras, a partir de PHP » 4.2.0, ladirectiva PHP register_globals está off por defecto en php.ini. El método preferido para obtener acceso a éstos valores es por medio de lasvariables superglobales mencionadas anteriormente. Antiguas secuencias de comandos, libros y tutoriales antiguos puede que asuman que éstadirectiva está definida como on. Si es así, puede usar, por ejemplo, $id desde la URL http://www.example.com/foo.php?id=42. Por otra parte,no importa si el valor de la directiva es on u off, $_GET[id] está siempre disponible.Para más información relacionada con estos cambios, puede ver la sección sobre variables predefinidas y los enlaces que hay dentro.¿Y ahora qué?Con sus nuevos conocimientos debería ser capaz de entender la mayoría del manual y de los diversos scripts de ejemplo disponibles en los archivos.Puede encontrar otros ejemplos en la sección de enlaces de php.net: » http://www.php.net/links.php.Para ver varias presentaciones que muestra más acerca de lo que puede hacer PHP, visite los diferentes sitios con material relacionado a lasconferencias realizadas: » http://talks.php.net/Introducción¿Qué es PHP?¿Qué se puede hacer con PHP?Un tutorial sencillo¿Qué necesito?Su primera página con PHPAlgo útilUso de FormulariosUsando código antiguo en nuevas versiones de PHP¿Y ahora qué?Instalación y configuraciónConsideraciones generales de instalaciónAntes de empezar la instalación, primero necesita saber para que se quiere utilizar PHP. Existen tres campos principales donde se puede utilizar PHPtal y como se describe en la sección: ¿Qué se puede hacer con PHP?Aplicaciones web y sitios web (scripting en el lado servidor)Scripting en la línea de comandosAplicaciones de Escritorio (GUI)Para la primera forma mencionada, que es la más común, se necesitan tres cosas: PHP, un servidor web y un navegador web. Seguramente yadispone del navegador web y dependiendo del el sistema operativo, quizá ya tiene un servidor web (p.e.j. Apache en Linux y MacOS X; IIS enWindows). Posiblemente esté alquilando espacio web en una empresa. De esta forma, no se necesita instalar nada, solo tiene que escribir sus scriptsPHP, subirlos al servidor que está alquiando y ver los resultados en su navegador.
  9. 9. Página 9PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlWindows). Posiblemente esté alquilando espacio web en una empresa. De esta forma, no se necesita instalar nada, solo tiene que escribir sus scriptsPHP, subirlos al servidor que está alquiando y ver los resultados en su navegador.En caso de configurar el servidor y PHP por su cuenta, existen dos opciones para el método de conexión de PHP con el servidor. Para muchos tiposservidores PHP tiene un módulo de interfaz directo (también llamado SAPI). Incluídos los servidores Apache, Microsoft Internet Information Server,Netscape y iPlanet. Otros muchos servidores tienen soporte para ISAPI, el módulo de interfaz de Microsoft (OmniHTTPd por ejemplo). Si PHP notiene un módulo de soporte para su servidor web, siempre puede usarlo como GCI o FastGCI. Esto significa configurar el servidor para usar el CGIejecutable de PHP para procesar cada una de las peticiones a ficheros PHP en el servidor.Si también está interesado en usar PHP bajo la línea de comandos (p.e.j. escribir que autogeneran imágenes de forma offline, o procesar ficheros detexto dependiendo de según que argumentos se le pasa), para este tipo de scripts necesitarás que sea ejecutado en la línea de comandos. Para másinformación, leer la sección sobre escribir aplicaciones para la línea de comandos. En este caso, no se necesita servidor o navegador.Con PHP también se pueden escribir aplicaciones de escritorio GUI usando la extensión PHP-GTK extension. No tiene nada que ver con escribirpáginas web, ya que no se muestra ningún HTML, pero gestiona ventanas y objetos con el. Para más información acerca de PHP-GTK, por favor» visita el sitio dedicado a esta extensión. PHP-GTK no está incluido en la distribución oficial de PHP.A partir de ahora, esta sección trata de la configuración de PHP para servidores web de Unix y Windows con módulos de interfaz de servidor o comoejecutables CGI. También se puede encontrar información sobre ejecutables en la línea de comandos ejecutables en las siguientes secciones.El código fuente y las distribuciones binarias para Windows pueden encontrarse en » http://www.php.net/downloads.php. Recomendamos elegir un» mirror que esté cerca de usted para descargar las distribuciones.Instalación sobre sistemas UnixTabla de contenidosApache 1.3.x sobre sistemas UnixApache 2.x sobre sistemas UnixLighttpd 1.4 en sistemas UnixServidores Sun, iPlanet y Netscape sobre Sun SolarisCGI y configuraciones de línea de comandosNotas de instalación específicas para HP-UXNotas de instalación para OpenBSDSolaris sugerencias específicas de instalaciónNotas de instalación en Debian GNU/LinuxEsta sección le guiará a través de la configuración general e instalación de PHP sobre sistemas Unix. Asegúrese de investigar cualquier secciónespecífica a su plataforma o servidor web antes de comenzar el proceso.Tal como el manual lo esboza en la sección Consideraciones generales de instalación, se está tratando principalmente con configuraciones de PHPcentradas en web en esta sección, aunque también se cubrirá el preparar PHP para usarse en línea de comando.Existen varias maneras de instalar PHP para la plataforma Unix, ya sea con un proceso de compilar y configurar, o a través de varios métodos pre-empaquetados. Esta documentación está enfocada principalmente alrededor del proceso de compilar y configurar PHP. Muchos sistemas estilo Unixtienen algún tipo de sistema de instalación de paquetes. Esto puede ayudar en preparar una configuración standard, pero si se requiere tener unconjunto diferente de características (tales como un servidor seguro, o un manejador diferente de base de datos), podría ser necesario construir PHPy/o el servidor web. Si no se está familiarizado con la construcción y el compilado de su propio software, vale la pena revisar para ver si alguien yaha construido una versión empaquetada de PHP con las características que se necesitan.Conocimientos y software necesarios para compilar:Habilidades básicas en Unix (ser capaz de operar "make" y un compilador de C)Un compilador ANSI CUn servidor webCualquier componente específico para módulos (tales como GD, PDF libs, etc.)Cuando compile directamente de una fuente SVN sources o después de realizar modificaciones usted necesita también:autoconf: 2.13+ (para PHP < 5.4.0), 2.59+ (para PHP >= 5.4.0)automake: 1.4+libtool: 1.4.x+ (excepto 1.4.2)re2c: Versión 0.13.4 o superiorflex: Versión 2.5.4 (para PHP <= 5.2)
  10. 10. Página 10PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlflex: Versión 2.5.4 (para PHP <= 5.2)bison: Versión 1.28 (preferido), 1.35, o 1.75El proceso inicial de preparación y configuración de PHP es controlado por el uso de las opciones de línea de comando del script configure. Esposible obtener una lista de todas las opciones disponibles junto con una descripción corta ejecutando ./configure --help. El manual documenta lasdiferentes opciones por separado. Se encontrarán las opciones principales en el apéndice, mientras que las diferentes opciones específicas de lasextensiones se describen en las páginas de referencia.Cuando PHP está configurado, se está listo para compilar el módulo y/o ejecutables. El comando make debería hacerse cargo de esto. Si falla y no sepuede encontrar el porque, véase la sección de problemas.Apache 1.3.x sobre sistemas UnixEsta sección contiene notas y consejos específicos a instalaciones Apache de PHP sobre plataformas Unix. También se tienen instrucciones y notaspara Apache 2 en una página por separado.Se pueden seleccionar argumentos para agregar a configure en la línea 10 debajo de la lista de opciones principales de configure y de opcionesespecíficas a extensiones descritas en sus respectivos lugares en el manual. Los números de versión han sido omitidos aquí, para asegurar que lasinstrucciones no sean incorrectas. Se necesita reemplazar las xxx aquí con los valores correctos de los ficheros.Ejemplo #1 Instrucciones de instalación (Versión de módulo compartido de Apache) para PHP1. gunzip apache_xxx.tar.gz2. tar -xvf apache_xxx.tar3. gunzip php-xxx.tar.gz4. tar -xvf php-xxx.tar5. cd apache_xxx6. ./configure --prefix=/www --enable-module=so7. make8. make install9. cd ../php-xxx10. Ahora, se configura PHP. Aquí es donde se personaliza PHPcon varias opciones, como cuales extensiones se habilitarán. Realizar un./configure --help para obtener una lista de opciones disponibles. En el ejemplose realiza un configure simple con soporte para Apache 1 y MySQL. Laruta de acceso a apxs puede diferir del ejemplo../configure --with-mysql --with-apxs=/www/bin/apxs11. make12. make installSi se decide cambiar las opciones de configure después de la instalación,solamente se necesita repetir los últimos tres pasos. Sólo hace faltareiniciar apache para que el nuevo módulo tenga efecto. Una recompilación deApache no es necesaria.Nótese que a menos que se mencione lo contrario, make install también instalará PEAR,varias herramientas de PHP tales como phpize, instalará la línea de comando (CLI) de PHP, y más.13. Preparar el fichero php.ini:cp php.ini-development /usr/local/lib/php.iniSe puede editar el fichero .ini para fijar las opciones de PHP. Si se prefierephp.ini en otra ubicación, utilice --with-config-file-path=/some/path enel paso 10.Si en vez de ello se elige php.ini-production, asegurarse de leer la listade cambios en el interior, ya que éstos afectan como se comporta PHP.14. Editar httpd.conf para cargar el módulo de PHP. La ruta de acceso al lado derechode el enunciado LoadModule debe apuntar a la ruta del módulo de PHPen su sistema. El make install anterior podría haber agregado esto yapor usted, pero asegúrese de revisarlo.LoadModule php5_module libexec/libphp5.so15. Y en la sección AddModule de httpd.conf, en algún lugar por debajo deClearModuleList, agregar esto:AddModule mod_php5.c16. Indicar a Apache que procese ciertas extensiones como PHP. Por ejemplo,hacer que Apache procese la extensión .php como PHP. Se podría
  11. 11. Página 11PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlhacer que Apache procese la extensión .php como PHP. Se podríahacer que cualquier extensión o extensiones sean procesadas como PHP simplemente añadiendo más, concada una separada por un espacio. Se agregará .phtml para demostrarlo.AddType application/x-httpd-php .php .phtmlTambién es común configurar la extensión .phps para mostrar fuentes resaltadas de PHP,ésto puede hacerse con:AddType application/x-httpd-php-source .phps17. Utilice el procedimiento normal para iniciar el servidor Apache. (Se debedetener y reiniciar el servidor, no sólo causar que el servidor recargue utilizandouna señal HUP o USR1.)Alternativamente, para instalar PHP como un objeto estático:Ejemplo #2 Instrucciones de instalación (Instalación de módulo estático para Apache) para PHP1. gunzip -c apache_1.3.x.tar.gz | tar xf -2. cd apache_1.3.x3. ./configure4. cd ..5. gunzip -c php-5.x.y.tar.gz | tar xf -6. cd php-5.x.y7. ./configure --with-mysql --with-apache=../apache_1.3.x8. make9. make install10. cd ../apache_1.3.x11. ./configure --prefix=/www --activate-module=src/modules/php5/libphp5.a(¡La línea anterior es correcta! Sí, ya se sabe que libphp5.a aún no existe en estaetapa. No se supone que deba. Será creado.)12. make(ahora se debe tener un binario httpd que puede ser copiado al directorio bin de Apache siesta es la primera instalación entonces se necesita dar "make install" también)13. cd ../php-5.x.y14. cp php.ini-development /usr/local/lib/php.ini15. Se puede editar el fichero /usr/local/lib/php.ini para fijar las opciones de PHP.Editar el fichero httpd.conf o srm.conf y añadir:AddType application/x-httpd-php .phpDependiendo de la instalación de Apache y la variante de Unix, hay muchas maneras posibles de detener y reiniciar el servidor. Abajo hay algunaslíneas típicas utilizadas para reiniciar el servidor, para diferentes instalaciones apache/unix. Se debe reemplazar /path/to/ con la trayectoria a estasaplicaciones en el sistema.Ejemplo #3 Comandos de ejemplo para reiniciar Apache1. Diferentes variantes de Linux y SysV:/etc/rc.d/init.d/httpd restart2. Utilizando scripts apachectl:/path/to/apachectl stop/path/to/apachectl start3. httpdctl y httpsdctl (Utilizando OpenSSL), similar a apachectl:/path/to/httpsdctl stop/path/to/httpsdctl start4. Usando mod_ssl, u otro servidor SSL, que se quiera detener e iniciarmanualmente:/path/to/apachectl stop/path/to/apachectl startsslLas ubicaciones de los binarios apachectl y http(s)dctl varían frecuentemente. Si el sistema tiene los comandos locate o whereis o which, éstospueden ayudar en encontrar los programas de control del servidor.Distintos ejemplos de compilaciones de PHP para apache son como sigue:./configure --with-apxs --with-pgsqlEsto creará una librería compartida libphp5.so que se carga en Apache utilizando una línea LoadModule en el fichero de Apache httpd.conf. Elsoporte para PostgreSQL está incluido dentro de esta librería.
  12. 12. Página 12PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlEsto creará una librería compartida libphp5.so que se carga en Apache utilizando una línea LoadModule en el fichero de Apache httpd.conf. Elsoporte para PostgreSQL está incluido dentro de esta librería../configure --with-apxs --with-pgsql=sharedEsto creará una librería compartida libphp5.so para Apache, pero también creará una librería compartida pgsql.so que se carga en PHP ya sea usandola directiva de extensión en el fichero php.ini o cargándola explícitamente en un script utilizando la función dl()../configure --with-apache=/path/to/apache_source --with-pgsqlEsto creará una librería libmodphp5.a, un mod_php5.c y algunos ficheros acompañantes y cópiese estos dentro del directorio src/modules/php5 en elárbol de fuentes de Apache. Entonces se compila Apache utilizando --activate-module=src/modules/php5/libphp5.a y el sistema de compilación deApache creará libphp5.a y lo enlazará estáticamente dentro del binario httpd. El soporte para PostgreSQL se incluye directamente dentro de estebinario httpd, así que el resultado final aquí es un binario httpd sencillo que incluye todo Apache y todo PHP../configure --with-apache=/path/to/apache_source --with-pgsql=sharedIgual que en el anterior, excepto que en vez de incluir soporte para PostgreSQL directamente en el httpd final se obtiene una librería compartidapgsql.so que puede cargarse dentro de PHP desde ya sea el fichero php.ini o directamente utilizando dl().Cuando se elige compilar PHP de diferentes maneras, se deben considerar las ventajas y desventajas de cada método. Compilar como objetocompartido significará que se puede compilar apache por separado, y no se tiene que recompilar todo cuando se agrega o se cambia algo en PHP.Compilar PHP dentro de apache (método estático) significa que PHP cargará y ejecutará más rápido. Para más información, ver la » página web deApache sobre soporte DSO.Nota:El httpd.conf por omisión de Apache actualmente se distribuye con una sección que se parece a esto:User nobodyGroup "#-1"A menos que se cambie esto a "Group nogroup" o algo como esto ("Group daemon" es también muy común) PHP no será capaz de abrirficheros.Nota:Asegúrese de que se especifica la versión instalada de apxs cuando se utiliza --with-apxs=/path/to/apxs . NO se debe utilizar la versión deapxs que está en las fuentes de apache, si no la que en realidad está instalada en el sistema.Apache 2.x sobre sistemas UnixEsta sección contiene notas y consejos específicos a las instalaciones de Apache 2.x de PHP sobre sistemas Unix.AdvertenciaNo se recomienda utilizar un MPM threaded en producción con Apache 2. Use MPM prefork, que es el MPM por defecto en Apache 2.0 y 2.2. Parainformación sobre cómo, lea la correspondiente entrada de la FAQ sobre utilizar Apache2 con un MPM threadedLa » Documentación de Apache es la fuente de información más autorizada acerca del servidor Apache 2.x. Ahí se puede encontrar más informaciónacerca de las opciones de instalación.La versión más reciente de Apache HTTP Server puede obtenerse del » Sitio de descargas de Apache, y una versión apropiada de PHP de los lugaresanteriormente mencionados. Esta guía rápida solamente cubre lo básico para comenzar con Apache 2.x y PHP. Para obtener más información lea la» Documentación de Apache. Los números de versión han sido omitidos aquí, para asegurar que las instrucciones no sean incorrectas. En losejemplos siguientes, NN deberá ser reemplazado con la versión específica de Apache que se está utilizando.Existen actualmente dos versiones de Apache 2.x - está la 2.0 y la 2.2. Mientras que existen varias razones para elegir cada una, la 2.2 es actualmentela versión más reciente, y la que se recomienda, si es que esa opción está disponible. Sin embargo, las instrucciones aquí funcionarán ya sea para 2.0ó 2.2.1. Obténgase el servidor HTTP Apache de la ubicación listada con anterioridad, y desempáquese:gzip -d httpd-2_x_NN.tar.gztar -xf httpd-2_x_NN.tar2. De la misma manera, obtener y desempacar las fuentes de PHP:
  13. 13. Página 13PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html2. De la misma manera, obtener y desempacar las fuentes de PHP:gunzip php-NN.tar.gztar -xf php-NN.tar3. Compilar e instalar Apache. Consúltese la documentación de instalación de Apache para mayores detalles sobre la compilación de Apache.cd httpd-2_x_NN./configure --enable-somakemake install4. Ahora se tiene Apache 2.x.NN disponible debajo de /usr/local/apache2, configurado con soporte para módulos cargables y con el MPM(Módulo de multiproceso) prefork estándar. Para probar la instalación úsese el procedimiento para iniciar el servidor Apache, por ej.:/usr/local/apache2/bin/apachectl starty deténgase el servidor para proceder con la configuración para PHP:/usr/local/apache2/bin/apachectl stop5. Ahora, configure y compile PHP. Aquí es donde se personaliza PHP con varias opciones, como qué extensiones se han de habilitar. Ejecute ./configure --help para obtener una lista de opciones disponibles. En el ejemplo se realiza un simple configure con soporte para Apache 2 yMySQL.Si se compila Apache a partir de los fuentes, tal como se describe anteriormente, el siguiente ejemplo coincidirá con la trayectoria para apxs,pero si se ha instalado Apache de alguna otra manera, será necesario ajustar la trayectoria a apxs apropiadamente. Nótese que algunasdistribuciones pueden renombrar apxs cómo apxs2.cd ../php-NN./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqlmakemake installSi se decide a cambiar las opciones de configuración después de la instalación, se deben volver a ejecutar los pasos configure, make, y makeinstall. Solamente se necesita reiniciar apache para que el nuevo módulo tenga efecto. Una recompilación de Apache no es necesaria.Nótese que a menos que se indique lo contrario, make install también instalará PEAR, varias herramientas de PHP tales como phpize, instalarála interfaz de línea de comando (CLI) de PHP, y más.6. Configurar php.inicp php.ini-development /usr/local/lib/php.iniSe puede editar el fichero .ini para fijar las opciones de PHP. Si se prefiere tener php.ini en otra ubicación, utilice --with-config-file-path=/alguna/trayectoria en el paso 5.Si en vez de eso se elige php.ini-production, asegúrese de leer la lista de cambios al interior, ya que afectan como se comporta PHP.7. Edítese httpd.conf para cargar el módulo PHP. La trayectoria a la derecha de la sentencia LoadModule debe apuntar a la trayectoria del móduloPHP en el sistema. El make install anterior podría ya haber agregado esto automáticamente, pero asegúrese de revisar.LoadModule php5_module modules/libphp5.so8. Indicar a Apache que procese ciertas extensiones como PHP. Por ejemplo, hágase que Apache procese ficheros .php como PHP. En vez desolamente utilizar la directiva de Apache AddType, se desea evitar subidas de ficheros potencialmente peligrosas y que ficheros creados talcomo exploit.php.jpg sean ejecutados como PHP. Utilizando este ejemplo, se puede hacer que cualquier extensión o extensiones seanprocesadas como PHP simplemente añadiéndolas. Se agregará .php para demostrarlo.<FilesMatch .php$>SetHandler application/x-httpd-php</FilesMatch>O, si se deseara permitir que ficheros .php, .php2, .php3, .php4, .php5, .php6, y .phtml fuesen ejecutados como PHP, pero nada más, seutilizaría esto:<FilesMatch ".ph(p[2-6]?|tml)$">SetHandler application/x-httpd-php</FilesMatch>Y para permitir que ficheros .phps sean manejados por el filtro de fuentes de php, y desplegado como código fuente con sintaxis resaltada, seutiliza esto:
  14. 14. Página 14PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlY para permitir que ficheros .phps sean manejados por el filtro de fuentes de php, y desplegado como código fuente con sintaxis resaltada, seutiliza esto:<FilesMatch ".phps$">SetHandler application/x-httpd-php-source</FilesMatch>mod_rewrite puede ser utilizado para permitir que cualquier fichero .php arbitrario sea desplegado como código fuente con sintaxis resaltada,sin tener que renombrarlo o copiarlo a un fichero .phps:RewriteEngine OnRewriteRule (.*.php)s$ $1 [H=application/x-httpd-php-source]El filtro de código fuente php no debe habilitarse en sistemas de producción, donde podría exponer información confidencial o de alguna otramanera sensible incluida en código fuente.9. Utilícese el procedimiento normal para iniciar el servidor Apache, por ej.:/usr/local/apache2/bin/apachectl startOservice httpd restartSiguiendo los pasos anteriores se tendrá corriendo un servidor web Apache2 con soporte para PHP como un módulo SAPI. Por supuesto existenmuchas opciones más de configuración disponibles para Apache y PHP. Para más información teclee ./configure --help en el árbol de fuentescorrespondiente.Apache se puede compilar con soporte multihilos seleccionando el worker MPM, en vez del prefork MPM standard, cuando Apache se compila. Estose realiza agregando la siguiente opción al argumento pasado a ./configure, en el paso 3 anterior:--with-mpm=workerEsto no debe llevarse a cabo sin ser consciente de las consecuencias de esta decisión, y tener al menos un ligero entendimiento acerca de lasimplicaciones. La documentación de Apache al respecto de » MPM-Modules discute los MPM en forma mucho más detallada.Nota:Las Preguntas frecuentes de Apache MultiViews discute acerca del uso de multiviews con PHP.Nota:Para compilar una versión multihilo de Apache, el sistema destino debe soportar hilos. En este caso, PHP también debe compilarse con laopción Zend Thread Safety (ZTS) experimental. Bajo esta configuración, no todas las extensiones se encontrarán disponibles. Laconfiguración recomendada es compilar Apache con el MPM-module prefork por omisión.Lighttpd 1.4 en sistemas UnixEsta sección contiene anotaciones y consejos específicos para la instalación de PHP en Lighttpd 1.4 para sistemas Unix.Por favor, antes de continuar consulte el » sistema de seguimiento de Lighttpd para saber cómo instalar Lighttpd apropiadamente.La SAPI recomendada para conectar PHP a Lighttpd es Fastcig. Esta SAPI viene habilitada por omisión en php-cgi PHP 5.3. En versiones anterioresdebe configurarse PHP con --enable-fastcgi. Para verificar que PHP tiene fastcgi habilitado, php -v debe contener PHP 5.2.5 (cgi-fcgi) En versionesanteriores a PHP 5.2.3, fastcgi estaba habilitado en el binario de php (no había php-cgi).Permitiendo que Lighttpd lance procesos de phpPara configurar Lighttpd para que se conecte a php y lance procesos fastcgi, debe editar lighttpd.conf. Se recomienda utilizar sockets para conectarfastcgi a los procesos del sistema local.Ejemplo #1 Extracto de lighttpd.confserver.modules += ( "mod_fastcgi" )fastcgi.server = ( ".php" =>((
  15. 15. Página 15PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html(("socket" => "/tmp/php.socket","bin-path" => "/usr/local/bin/php-cgi","bin-environment" => ("PHP_FCGI_CHILDREN" => "16","PHP_FCGI_MAX_REQUESTS" => "10000"),"min-procs" => 1,"max-procs" => 1,"idle-timeout" => 20)))La directiva bin-path permite a lighttpd lanzar procesos fastcgi dinámicamente. PHP creará nuevos procesos hijos según se especifique en la variablede entorno PHP_FCGI_CHILDREN. La directiva "bin-environment" establece el entorno de los nuevos procesos. Cada vez que se alcance undeterminado número de peticiones, determinado por PHP_FCGI_MAX_REQUEST, se matará un proceso. Las directivas "min-procs" y "max-procs"deben, por norma general, evitarse con PHP. PHP gestiona sus propios hijos, de forma que cachés como APC sólo estarán disponibles para losprocesos gestionados por PHP. Si se establece "min-procs" a un número superior a 1, el número total de procesos oyentes en php se multiplicará porPHP_FCGI_CHILDREN (2 min-procs * 16 hijos produce 32 oyentes).Lanzando procesos con spawn-fcgiLighttpd contiene el programa spawn-fcgi que facilita lanzar procesos fastcgi.Lanzando procesos php-cgiPese a que es más laborioso, es posible lanzar procesos sin spawn-fcgi. La variable de entorno PHP_FCGI_CHILDREN controla cuántos procesoshijo de PHP se lanzarán para manejar las peticiones entrantes. PHP_FCGI_MAX_REQUESTS determinará el tiempo de vida (en peticiones) de cadaproceso hijo. Aquí se muestra un script en bash que asiste en la creación de procesos php.Ejemplo #2 Lanzando oyentes FastCGI#!/bin/sh# Ubicación del binario php-cgiPHP=/usr/local/bin/php-cgi# Ubicación del fichero PIDPHP_PID=/tmp/php.pid# Enlazando a una dirección#FCGI_BIND_ADDRESS=10.0.1.1:10000# Enlazando a un socket de dominioFCGI_BIND_ADDRESS=/tmp/php.sockPHP_FCGI_CHILDREN=16PHP_FCGI_MAX_REQUESTS=10000env -i PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS $PHP -b $FCGI_BIND_ADDRESS &echo $! > "$PHP_PID"Conexión a instancias FCGI remotasPara poder tener aplicaciones escalables, pueden lanzarse instancias de fastcgi en múltiples equipos remotos.Ejemplo #3 Conexión a instancias de php-fastcgi remotasfastcgi.server = ( ".php" =>(( "host" => "10.0.0.2", "port" => 1030 ),( "host" => "10.0.0.3", "port" => 1030 )))Servidores Sun, iPlanet y Netscape sobre Sun SolarisEsta sección contiene notas y consejos específicos al servidor web Sun Java System, servidor web Sun ONE, instalaciones de servidores iPlanet yNetscape de PHP sobre Sun Solaris.A partir de PHP 4.3.3 en adelante se pueden utilizar scripts PHP con el módulo NSAPI para generar listados de directorio y páginas de errores
  16. 16. Página 16PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlA partir de PHP 4.3.3 en adelante se pueden utilizar scripts PHP con el módulo NSAPI para generar listados de directorio y páginas de errorespersonalizados. Funciones adicionales para compatibilidad con Apache también se encuentran disponibles. Para soporte en servidores web actuales,léase la nota sobre subpeticiones.Se puede encontrar más información acerca de configurar PHP para Netscape Enterprise Server (NES) aquí: » http://benoit.noss.free.fr/php/install-php4.htmlPara construir PHP con los servidores web Sun JSWS/Sun ONE WS/iPlanet/Netscape, introduzca el directorio de instalación apropiado para laopción --with-nsapi=[DIR]. El directorio por omisión es comúnmente /opt/netscape/suitespot/. Por favor también léase /php-xxx-version/sapi/nsapi/nsapi-readme.txt.1. Instalar los siguientes paquetes de » http://www.sunfreeware.com/ o algún otro sitio de descargas:autoconf-2.13automake-1.4bison-1_25-sol26-sparc-localflex-2_5_4a-sol26-sparc-localgcc-2_95_2-sol26-sparc-localgzip-1.2.4-sol26-sparc-localm4-1_4-sol26-sparc-localmake-3_76_1-sol26-sparc-localmysql-3.23.24-beta (si se desea soporte para mysql)perl-5_005_03-sol26-sparc-localtar-1.13 (GNU tar)2. Asegurar que la ruta de acceso incluye los directorios apropiados PATH=.:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ccs/bin y hacer que estédisponible al sistema export PATH.3. gunzip php-x.x.x.tar.gz (si se tiene una distribución .gz, de lo contrario ir a 4).4. tar xvf php-x.x.x.tar5. Cambiarse al directorio de PHP ya extraído: cd ../php-x.x.x6. Para el siguiente paso, asegurar que /opt/netscape/suitespot/ sea donde el servidor netscape está instalado. De no ser así, cambiar a la ruta deacceso correcta y ejecutar:./configure --with-mysql=/usr/local/mysql --with-nsapi=/opt/netscape/suitespot/ --enable-libgcc7. Ejecutar make seguido por make install.Después de realizar la instalación base y de leer el fichero readme apropiado, es posible que sea necesario realizar algunos pasos adicionales deconfiguración.Instrucciones de configuración para Sun/iPlanet/NetscapePrimeramente quizás sea necesario agregar algunas rutas de acceso al entorno LD_LIBRARY_PATH para que el servidor encuentre todas las libreríascompartidas. Esto puede hacerse de mejor manera en el script de arranque del servidor web. El script de arranque se encuentra comúnmentelocalizado en: /ruta/al/servidor/https-servername/start. Quizás también sea necesario editar los ficheros de configuración que están ubicados en: /ruta/al/servidor/https-servername/config/.1. Agregar la siguiente línea a mime.types (se puede hacer esto por medio del servidor de administración):type=magnus-internal/x-httpd-php exts=php2. Editar magnus.conf (para servidores >= 6) u obj.conf (para servidores < 6) y agregar lo siguiente, shlib variará dependiendo del sistema, seráalgo así como /opt/netscape/suitespot/bin/libphp4.so. Se deben colocar las siguientes líneas después de mime types init.Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="/opt/netscape/suitespot/bin/libphp4.so"Init fn="php4_init" LateInit="yes" errorString="Failed to initialize PHP!" [php_ini="/path/to/php.ini"](PHP >= 4.3.3) El parámetro php_ini es opcional pero con él se puede colocar php.ini en el directorio de configuración del servidor web.3. Configurar el objeto por omisión en obj.conf (para clases de servidor virtual [versión 6.0+] en su vserver.obj.conf):<Object name="default">....#NOTA esta siguiente línea debería ocurrir después de todos las líneas ObjectType y antes de todas las líneas AddLogService fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
  17. 17. Página 17PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlService fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]..</Object>(PHP >= 4.3.3) Como parámetros adicionales se pueden agregar algunos valores especiales de php.ini, por ejemplo se puede fijar unadocroot="/ruta/a/raíz_de_documentos" específica al contexto php4_execute es llamado. Para llaves ini boleanas favor de utilizar 0/1 comovalor, no "On","Off",... (esto no funcionará correctamente), por ejemplo. zlib.output_compression=1 en vez de zlib.output_compression="On"4. Esto es sólo necesario si se quiere configurar un directorio que solamente consiste de scripts de PHP (igual que un directorio cgi-bin):<Object name="x-httpd-php">ObjectType fn="force-type" type="magnus-internal/x-httpd-php"Service fn=php4_execute [inikey=value inikey=value ...]</Object>Después de configurar un directorio en el servidor de administración y asignarle el estilo x-httpd-php. Todos los ficheros en éste se ejecutaráncomo PHP. Esto está bien para esconder el uso de PHP renombrando los ficheros a .html.5. Configuración de la autenticación: La autenticación PHP no puede ser utilizada con ninguna otra autenticación. TODA AUTENTICACIONLE ES PASADA AL SCRIPT DE PHP. Para configurar la autenticación de PHP para el servidor entero, agregar la línea siguiente al objetopor omisión:<Object name="default">AuthTrans fn=php4_auth_trans...</Object>6. Para utilizar autenticación de PHP en sólo un directorio, agregar lo siguiente:<Object ppath="d:rutaaldirectorioauntenticado*">AuthTrans fn=php4_auth_trans</Object>Nota:El tamaño de la pila que utiliza PHP depende de la configuración del servidor web. Si se tienen fallas generales con scripts de PHP muygrandes, se recomienda elevarlo con el servidor de administración (en la sección "MAGNUS EDITOR").Ambiente CGI y modificaciones recomendadas en php.iniImportante cuando se escriben scripts de PHP, es el hecho de que Sun JSWS/Sun ONE WS/iPlanet/Netscape es un servidor web multihilos. Por ellotodas las peticiones se corren en el mismo espacio de proceso (el espacio del servidor web mismo) y este espacio tiene solamente un ambiente. Si sequiere tener variables CGI como PATH_INFO, HTTP_HOST etc. la manera correcta no es intentar esto al viejo estilo de PHP con getenv() o unamanera similar (registrar globales al ambiente, $_ENV). Solamente se obtendrá el ambiente del servidor web que se está ejecutando. ¡Sin ningunavariable CGI válida!Nota:¿Por qué hay variables CGI (inválidas) en el ambiente?Respuesta: Esto es por que se inició el proceso del servidor web desde el servidor de administración que ejecuta el script de arranque delservidor web, que se quería iniciar, como un script de CGI (¡Un script de CGI dentro del servidor de administración!). Esto es el porque elambiente de el servidor web iniciado tiene algunas variables de CGI en él. Se puede probar esto iniciando el servidor web, no desde elservidor de administración. Utilizar la línea de comando como usuario root e iniciarlo manualmente - se verá que no hay variables deambiente a la CGI.Simplemente cámbiense los scripts para obtener las variables CGI de la manera correcta para PHP 4.x utilizando la superglobal $_SERVER. Si setienen scripts más antiguos que usan $HTTP_HOST, etc., se debe activar register_globals en php.ini y cambiar el orden de las variables también(importante: quitar "E" de ésta, porque no se necesita el entorno aquí):variables_order = "GPCS"register_globals = OnUso especial para páginas de error o listados personalizados de directorios (PHP >= 4.3.3)Se puede utilizar PHP para generar páginas de errores para "404 Not Found" o similares. Agregar la siguiente línea al objeto en obj.conf por cadapágina de error que se quiera sobreescribir:
  18. 18. Página 18PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlError fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]donde XXX es el código de error HTTP. Favor de borrar cualquier otra directiva Error que pudiese interferir con la propia. Si se desea colocar unapágina para todos los errores que puedan existir, dejar fuera el parámetro code. El script puede obtener el código de estado HTTP con $_SERVER[ERROR_TYPE].Otra posibilidad es generar listados de directorio personalizados. Solamente creando un script PHP que despliegue un listado de directorio yreemplazando la línea por omisión correspondiente Service por type="magnus-internal/directory" en obj.conf con lo siguiente:Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]Para ambas páginas, de error y listados de directorio la URI original y la URI traducida están en las variables $_SERVER[PATH_INFO] y $_SERVER[PATH_TRANSLATED].Nota acerca de nsapi_virtual() y subpeticiones (PHP >= 4.3.3)El módulo NSAPI ahora soporta la función nsapi_virtual() (alias: virtual()) para realizar subpeticiones en el servidor web e insertar el resultado en lapágina web. Esta función utiliza algunas características no documentadas de la librería NSAPI. En Unix el módulo automáticamente busca lasfunciones necesarias y las utiliza si están disponibles. Si no, se deshabilita nsapi_virtual().Nota:Pero se advierte: El soporte para nsapi_virtual() es ¡¡¡EXPERIMENTAL!!!CGI y configuraciones de línea de comandosPor defecto, PHP se construye como un programa CLI y CGI, que puede ser utilizado para el procesamiento de CGI. Si está ejecutando un servidorweb PHP tiene soporte para los módulos, por lo general debe irse por esta solución por razones de rendimiento. Sin embargo, la versión CGI permitea los usuarios ejecutar diferentes páginas con PHP bajo diferentes identificadores de usuarios.AdvertenciaAl usar el modo CGI, su servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse deestos ataques.PruebasSi has construido PHP como un programa CGI, puede probar su construcción escribiendo make test. Siempre es una buena idea probar suconstrucción. De esta manera usted puede encontrar un problema al principio con PHP en la plataforma, en lugar de tener que luchar con él másadelante.Utilización de variablesAlgunos servidores suministrando variables de entorno no se definen en las actuales » CGI/1.1 specification. Sólo las siguientes variables no sedefinen: AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE, GATEWAY_INTERFACE, PATH_INFO, PATH_TRANSLATED, QUERY_STRING, REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD, SCRIPT_NAME, SERVER_NAME,SERVER_PORT, SERVER_PROTOCOL, and SERVER_SOFTWARE. Todo lo demás debe ser tratado como "extensiones de proveedor".Notas de instalación específicas para HP-UXEsta sección contiene notas y consejos específicos para instalar PHP sobre sistemas HP-UX.Existen dos opciones principales para instalar PHP sobre sistemas HP-UX. Ya sea compilarlo, o instalar un binario precompilado.Los paquetes oficiales precompilados se localizan aquí: » http://software.hp.com/Hasta que esta sección del manual sea reescrita, la documentación acerca de compilar PHP (y las extensiones relacionadas) sobre sistemas HP-UXha sido removida. Por ahora, favor de considerar la lectura de los siguientes recursos externos: » Building Apache and PHP on HP-UX 11.11Notas de instalación para OpenBSD
  19. 19. Página 19PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlNotas de instalación para OpenBSDEsta sección contiene notas y consejos específicos a la instalación de PHP sobre » OpenBSD 3.6.Utilizando paquetes binariosUtilizar paquetes binarios para instalar PHP sobre OpenBSD es el método más simple y recomendado. El paquete principal ha sido separado de losdistintos módulos, y cada uno puede ser instalado removido independientemente de los otros. Los ficheros que se necesitan pueden ser encontradosen el CD de OpenBSD o en el sitio FTP.El paquete principal que se necesita instalar es php4-core-4.3.8.tgz, que contiene el motor básico (además de gettext e iconv). Seguido, tómese unvistazo a los paquetes de módulos, tales como php4-mysql-4.3.8.tgz o php4-imap-4.3.8.tgz. Se necesita emplear el comando phpxs para activar ydesactivar estos módulos en el fichero php.ini.Ejemplo #1 Ejemplo de instalación de paquete de OpenBSD# pkg_add php4-core-4.3.8.tgz# /usr/local/sbin/phpxs -s# cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini(agregar mysql)# pkg_add php4-mysql-4.3.8.tgz# /usr/local/sbin/phpxs -a mysql(agregar imap)# pkg_add php4-imap-4.3.8.tgz# /usr/local/sbin/phpxs -a imap(quitar mysql a manera de prueba)# pkg_delete php4-mysql-4.3.8# /usr/local/sbin/phpxs -r mysql(instalar las librerías de PEAR)# pkg_add php4-pear-4.3.8.tgzLeer la página del manual » packages(7) para mas información sobre paquetes binarios en OpenBSD.Utilizando portesTambién se puede compilar PHP a partir de fuentes utilizando el » árbol de portes. Sin embargo, esto sólo se recomienda para usuarios familiarizadoscon OpenBSD. El porte de PHP 4 está dividido en dos subdirectorios: core y extensions. El directorio extensions genera subpaquetes para todos losmódulos soportados de PHP. Si se encuentra que no se desea crear alguno de estos módulos, utilice el sabor o FLAVOR no_*. Por ejemplo, paraevitar compilar el módulo imap, fijar el sabor o FLAVOR a no_imap.Problemas comunesLa instalación por omisión de Apache se ejecuta dentro de una » jaula chroot(2), que habrá de restringir a los script PHP el acceso a ficherosdebajo de /var/www. Por lo tanto se requiere crear un directorio /var/www/tmp para que los ficheros de sesión de PHP sean almacenados, outilizar un medio alternativo de almacenamiento de sesiones. Además, los sockets de base de datos necesitan colocarse dentro de la jaula oescuchar en la interfaz de localhost. Se se hace uso de funciones de red, algunos ficheros de /etc tales como /etc/resolv.conf y /etc/servicestendrán que ser movidos a /var/www/etc. El paquete PEAR de OpenBSD automáticamente se instala dentro de los directorios correctos delchroot, así que no hace falta ninguna modificación especial ahí. Más información sobre el Apache de OpenBSD está disponible en las» preguntas frecuentes OpenBSD.El paquete de OpenBSD 3.6 para la extensión » gd requiere que XFree86 sea instalado. Si no se desea utilizar algunas de las características defuentes tipográficas que requieren de X11, es mejor instalar el paquete php4-gd-4.3.8-no_x11.tgz.Ediciones antiguasEdiciones antiguas de OpenBSD utilizaban el sistema FLAVORS para compilar un PHP enlazado estáticamente. Dado que es difícil generarpaquetes binarios utilizando este método, ahora es depreciado. Aún es posible utilizar los viejos árboles estables de ports si así se desea, pero carecende soporte por parte del equipo de OpenBSD. Si se tiene algún comentario al respecto, el responsable actual del port es Anil Madhavapeddy (avsmarroba openbsd punto org).Solaris sugerencias específicas de instalaciónEsta sección contiene notas y sugerencias específicas para la instalación de PHP en sistemas Solaris.Software necesario
  20. 20. Página 20PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlSoftware necesarioLa instalacion Solaris carece con frecuencia de los compiladores de C y sus herramientas relacionadas. Lea las preguntas frecuentes para obtenerinformación sobre porqué usar versiones GNU de algunas de estas herramientas.Para descomprimir la distribución PHP se necesitatargzip óbzip2Para compilar PHP se necesitagcc (recomendado, aunque puede que sirvan otros compiladores de C)makeGNU sedPara compilar extensiones adicionales o hackear el código PHP puede que se necesite tambiénflex (versión PHP 5.2 o posterior)re2cbisonm4autoconfautomakeAdemás, usted tendrá que instalar (y posiblemente compilar) cualquier software adicional específico para la configuración, tales como Oracle oMySQL.Empleo de paquetesSe puede simplificar el procesao de intalación de Solaris mediante el uso de pkgadd para instalar la mayoría de sus componentes necesarios. ElSistema de Empaquetado de Imagen (IPS) para Solaris 11 Express contiene también la mayoría de los componentes requeridos para la instalaciónusando el comando pkg.Notas de instalación en Debian GNU/LinuxEsta sección contiene notas y consejos específicos para instalar PHP sobre » Debian GNU/Linux.AdvertenciaNo se ofrece soporte de builds no oficiales de terceros. Cualquier bug debe ser informado al equipo de Debian a no ser que puedan reproducirseusando los últimos builds de nuestra » zona de descargas.Mientras que las instrucciones para construir PHP sobre Unix se aplican a Debian también, esta página del manual contiene información específicapara otras opciones, tales como utilizar ya sea los comandos apt-get o aptitude. En esta página del manual estos dos comandos se pueden utilizarindistintamente.Utilizando APTPrimero, nótese que otros paquetes relacionados podrían ser deseables como libapache2-mod-php5 para integración con Apache 2, y php-pear paraPEAR.Segundo, antes de instalar un paquete, es sensato asegurarse de que la lista de paquetes está al día. Típicamente, esto se realiza ejecutando elcomando apt-get update.Ejemplo #1 Ejemplo de Instalación en Debian con Apache 2# apt-get install php5-common libapache2-mod-php5 php5-cliAPT instalará automáticamente el módulo PHP 5 para Apache 2 junto con todas sus dependencias, y luego lo activará. Apache debería reiniciarsepara que los cambios tengan efecto. Por ejemplo:Ejemplo #2 Deteniendo e iniciando Apache una vez que PHP está instalado
  21. 21. Página 21PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlEjemplo #2 Deteniendo e iniciando Apache una vez que PHP está instalado# /etc/init.d/apache2 stop# /etc/init.d/apache2 startUn mejor control de la configuraciónEn la sección anterior, PHP se instaló únicamente con los módulos principales. Es muy probable que se deseen módulos adicionales, tales comoMySQL, cURL, GD, etc. Estos también pueden ser instalados vía el comando apt-get.Ejemplo #3 Métodos para listar paquetes relacionados con PHP 5# apt-cache search php5# aptitude search php5# aptitude search php5 |grep -i mysqlLos ejemplos mostrarán una gran cantidad de paquetes incluyendo varios específicos a PHP como php5-cgi, php5-cli y php5-dev. Determine cualesson necesarios e instálelos como cualquier otro ya sea con apt-get o aptitude. Y ya que Debian realiza revisión de dependencias, preguntará por ellos,así que por ejemplo para instalar MySQL y cURL:Ejemplo #4 Instalar PHP con MySQL, cURL# apt-get install php5-mysql php5-curlAPT agregará automáticamente las líneas apropiadas a los diferentes ficheros relacionados con php.ini como /etc/php5/apache2/php.ini, /etc/php5/conf.d/pdo.ini, etc. y dependiendo de la extensión, le agregará registros similares a extension=foo.so. De cualquier manera, reiniciar el servidor web(como es Apache) es requerido antes de que estos cambios tengan efecto.Problemas FrecuentesSi los scripts de PHP no se están interpretando por el servidor web, entonces es probable que PHP no haya sido agregado al fichero deconfiguración del servidor web, que en Debian puede ser /etc/apache2/apache2.conf o algo semejante. Véase el manual de Debian paramayores detalles.Si una extensión fue aparentemente instalada y aún así las funciones no aparecen definidas, asegurar de que el fichero ini apropiado estásiendo cargado y/o que el servidor web fue reiniciado después de la instalación.Hay dos comandos básicos para instalar paquetes en Debian (y otras variantes de linux): apt-get y aptitude. Pero, explicar las sutiles diferenciasentre estos comandos va más allá del alcance de este manual.Instalación en Mac OS XTabla de contenidosEmpleo de paquetesUsando el paquete PHPCompilar PHP en Mac OS XEsta sección contiene notas y sugerencias específicas para la instalación de PHP en Mac OS X. PHP se incluye con Mac, y la compilación es similara la guía de instalación Unix .Empleo de paquetesHay algunas versiones pre-empaquetados y pre-compilados de PHP para Mac OS X. Esto puede ayudar en la creación de una configuración estándar,pero si usted necesita tener un conjunto diferente de características (como un servidor seguro, o un controlador de base de datos diferente), es posibleque necesite construir PHP y/o un servidor web. Si no está familiarizado con la construcción y compilación de el software, vale la pena revisar sialguien ya ha construido una versión de PHP con las características que necesita.Los siguientes recursos ofrecen paquetes facil de instalar y binarios precompilados para PHP en Mac OS:MacPorts: » http://www.macports.org/Entropy: » http://www.entropy.ch/software/macosx/php/Fink: » http://www.finkproject.org/Homebrew: » http://github.com/mxcl/homebrew
  22. 22. Página 22PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlHomebrew: » http://github.com/mxcl/homebrewUsando el paquete PHPPHP está incluido en los Macs desde la versión OS X 10.0.0. Habilitar PHP con el servidor web por defecto requiere descomentar unas cuantaslíneas en el fichero de configuración de Apache httpd.conf donde CGI y/o CLI están activados por defecto (son fácilmente accesibles a través delprograma Terminal).Siguiendo las instrucciones que se ofrecen a continuación se podrá habilitar PHP de una forma rápida para un entorno de desarrollo local. Es muyrecomendable tener siempre actualizado PHP a la última versión. Como casi todo el software vivo, y PHP no es una excepción, se crean nuevasversiones para resolver errores y añadir nuevas funcionalidades. Consulte la documentación de instalación de Mac OS X adecuada para más detalles.Las siguientes instrucciones para obtener una configuración están orientadas a los principiantes que deseen obtener una configuración totalmenteoperativa. Se anima a todos los usuarios a compilar o instalar una nueva versión ya empaquetada.La instalación típica es mediante mod_php. Para habilitar el paquete mod_php que viene en el Mac OS X para el servidor web Apache (el servidorweb por defecto, al que se puede acceder mediante las Preferencias del Sistema) se requiere efectuar los siguientes pasos:1. Localizar y abrir el archivo de configuración de Apache. Por defecto, la localización de dicho fichero es: /private/etc/apache2/httpd.confMediante el Finder o el Spotlight puede ser algo complicado encontrar dicho fichero ya que por defecto es privado y pertenece al usuario root.Nota: Una forma de abrir el fichero es usando un editor de texto basado en UNIX en el Terminal, como por ejemplo nano. Debido aque el fichero pertenece al usuario root se debe emplear el comando sudo para abrirlo (como si fueramos el usuario root). Por ejemplo,teclée lo siguiente en el Terminal (tras lo cual le preguntará por la contraseña): sudo nano /private/etc/apache2/httpd.conf Comandosde nano a tener en cuenta: ^w (buscar), ^o (guardar), and ^x (salir) donde ^ representa la tecla Ctrl.Nota: Las versiones de Mac OS X anteriores a 10.5 tienen incorporadas versiones antiguas de PHP y Apache. Por ello, es posible queel fichero de configuracion de Apache se encuentre en dichos equipos en /etc/httpd/httpd.conf.2. En el editor de texto, descomente las líneas (eliminando el símbolo #) que sean similares a las que se muestran a continuación (a menudo estaslíneas se encuentran separadas, asi que tendrá que localizar ambas en el fichero):# LoadModule php5_module libexec/httpd/libphp5.so# AddModule mod_php5.cFíjese en la localización/ruta de acceso. Cuando compile PHP en el futuro, las lineas arriba indicadas deberán ser reemplazadas o comentadas.3. Asegúrese que las extensiones que desee puedan ser interpretadas como PHP (por ejemplo: .php .html y .inc)Como las siguientes sentencias ya existían en el httpd.conf (desde el Max Panther), una vez se habilite PHP los ficheros .php automáticamenteseran interpretados como PHP.<IfModule mod_php5.c># If php is turned on, we respect .php and .phps files.AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps# Since most users will want index.php to work we# also automatically enable index.php<IfModule mod_dir.c>DirectoryIndex index.html index.php</IfModule></IfModule>Nota:Con anterioridad a OS X 10.5 (Leopard) se empaquetaba PHP 4 en lugar de PHP 5, en cuyo caso las instrucciones anteriores puedenser ligeramente diferentes cambiando los 5 por los 4.4. Asegúrese que DirectoryIndex carga el fichero por defecto index deseado Esto tambien se configura en httpd.conf. Normalmente se usanindex.php y index.html. Por defecto index.php está habilitado porque está incluido en la comprobación de PHP mostrada arriba. Ajuste aconveniencia.5. Configure la localizacion de php.ini o use el valor por defecto. Por defecto se localiza en los Mac OS X en /usr/local/php/php.ini y empleandophpinfo() se puede obtener esta información. Si no se está usando php.ini, PHP usará los valores por defecto. Véase también las preguntasfrecuentes relacionadas en finding php.ini.6. Localize o configure el DocumentRoot Éste es el directorio raíz de todos los ficheros web. Los ficheros en este directorio son obtenidos delservidor web a fin de que los ficheros PHP sean ejecutados como PHP antes de ser enviados al navegador. Una ruta de acceso típica es /Library/WebServer/Documents pero puede ser configurada en httpd.conf. Como alternativa, el DocumentRoot por defecto para usuarios
  23. 23. Página 23PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlLibrary/WebServer/Documents pero puede ser configurada en httpd.conf. Como alternativa, el DocumentRoot por defecto para usuariosindividuales es /Users/yourusername/Sites7. Cree un fichero phpinfo()La función phpinfo() muestra información sobre PHP. Considere la creación de un fichero en el DocumentRoot que contenga el siguientecódigo PHP:<?php phpinfo(); ?>8. Reinicie Apache, y cargue el fichero PHP creado arriba Para reiniciar, ejecute sudo apachectl graceful en el shell o desactive/active la opción"Compartir Web" en las Preferencias del Sistema. Por defecto, cargar ficheros locales en el navegador tiene una URL parecida a: http://localhost/info.php. Usar DocumentRoot en el directorio del usuario es otra opción, y la URL sería parecida a: http://localhost/~yourusername/info.phpCLI (o CGI en versiones antiguas) también es llamado de forma correcta php y posiblemente existe como /usr/bin/php. Abra el Terminal, lea lasección de línea de comando del manual de PHP, y ejecute php -v para comprobar la versión de PHP del binario PHP. Una llamada a phpinfo()también le mostrará esta información.Compilar PHP en Mac OS XUtilice la guía de instalación en Unix para compilar PHP en Mac OS X.Instalación en sistemas WindowsTabla de contenidosWindows Installer (PHP 5.1.0 y anteriores)Windows Installer (PHP 5.2 y posterior)Manual de InstalaciónMicrosoft IISMicrosoft IIS 5.1 y IIS 6.0Microsoft IIS 7.0 y posterioresApache 1.3.x en Microsoft WindowsApache 2.x en Microsoft WindowsServidores Sun, iPlanet y Netscape en Microsoft WindowsSambar Server en Microsoft WindowsXitami en Microsoft WindowsConstrucción de la fuenteInstalación de extensiones en WindowsLinea de Comandos PHP en Microsoft WindowsEsta sección se aplica a Windows 98/Me y Windows NT/2000/XP/2003. PHP no funciona en plataformas de 16 bits, como Windows 3.1 y, a vecesnos referimos a las plataformas soportadas por Windows como Win32.Nota:Windows 98/Me/NT4 ya no se admite a partir de PHP 5.3.0.Nota:Windows 95 ya no se admite a partir de PHP 4.3.0.Hay dos maneras principales de instalar PHP para Windows: de forma manual o mediante el instalador.Si tiene un entorno de desarrollo como Microsoft Visual Studio, también puede construir PHP desde el código fuente original.Una vez que haya instalado PHP en su sistema Windows, también puede querer cargar varias extensiones para mayor funcionalidad.AdvertenciaHay varios instaladores todo-en-uno a través de Internet, pero ninguno de esos son avalados por la PHP.net, ya que creemos que usando uno de lospaquetes oficiales de Windows de » http://www.php.net/downloads.php es la mejor opción para que el sistema este seguro y optimizado.
  24. 24. Página 24PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlHay varios instaladores todo-en-uno a través de Internet, pero ninguno de esos son avalados por la PHP.net, ya que creemos que usando uno de lospaquetes oficiales de Windows de » http://www.php.net/downloads.php es la mejor opción para que el sistema este seguro y optimizado.Windows Installer (PHP 5.1.0 y anteriores)El instalador de Windows de PHP está disponible en la página de descargas en » http://www.php.net/downloads.php. Esta instala la CGI version dePHP y para IIS, PWS, y Xitami, se configura el servidor web también. El instalador no incluye ninguna extensión externas de PHP adicionales (php_*.dll) ya que sólo se encontrará los del paquetes de Windows Zip y descarga de PECLNota:Si bien el instalador de Windows es una manera fácil de trabajar con PHP, es restringido en muchos aspectos como, por ejemplo, laconfiguración automática de extensiones no es soportada. El uso de la instalación no es un método preferido para la instalación de PHP.En primer lugar, hay que instalar el servidor web seleccionado HTTP en el sistema, y asegurarse de que funcione.Ejecute el ejecutable instalador y siga las instrucciones proporcionadas por el asistente de instalación. Dos tipos de instalación son soportadas -estándar, que proporciona los parámetros por defecto para todos las configuraciones que puede, y avanzado, que hace preguntas a medida queavanza.El asistente de instalación recopila información suficiente para configurar el fichero php.ini y configurar ciertos servidores web para utilizar PHP.Uno de los servidores web que el programa de instalación de PHP no configura es Apache, por lo que tendrás que configurarlo manualmente.Una vez que haya terminado la instalación, el instalador le informará si se es necesario reiniciar el sistema, reiniciar el servidor, o simplementeempezar a usar PHP.AdvertenciaTenga en cuenta que esta configuración de PHP no es segura. Si a usted le gustaría tener una segura instalación de PHP, es mejor que vayas en elmodo manual, y establecer todos los opción con cuidado. Esta configuración automática disminuiye el trabajo de instalación de PHP, pero no esdestinado a ser usado en los servidores en línea.Windows Installer (PHP 5.2 y posterior)Para crear el instalador de las últimas versiones de PHP en Windows se ha usado la tecnología MSI en conjunto con Wix Toolkit (» http://wix.sourceforge.net/). Esta aplicación se encarga de instalar y configurar tanto PHP, como las extensiones base y PECL. Además, también permiteconfigurar muchos de los servidores web más extendidos, como IIS, Apache, o Xitami.En primer lugar, se debe instalar el servidor HTTP (web) deseado, y asegurarse de que funciona. Una vez realizado, puede optarse por alguno de lossiguientes métodos de instalación.Instalación NormalEjecute el instalador MSI y siga las instrucciones que le indica el asistente de instalación. En primer lugar, se le solicitará que seleccione el ServidorWeb que desea configurar, junto con algunos detalles de configuración adicionales.Posteriormente, se le pedirá que indique qué funcionalidades y extensiones desea instalar y habilitar. Podrá indicar si desea instalar o no cadaelement seleccionando "Instalar en el disco local" ("Will be installed on local hard drive") en el menú desplegable que acompaña a cada uno de ellos.Al marcar "Instalar todas las funcionalidades en el disco local" ("Entire feature will be installed on local hard drive"), podrá instalar todas lassubcategorías del elemento seleccionado (por ejemplo, al marcar esta opción en "PDO", se instalarán todos los Drivers PDO).AdvertenciaSe recomienda no instalar todas las extensiones de forma predeterminada, ya que muchas de ellas tienen dependencias con bibliotecas externas aPHP. En lugar de eso, utilize el Modo de Reparación de Instalación (Installation Repair Mode) desde el panel de control de "Agregar o quitarprogramas". Desde aquí podrá habilitar o deshabilitar a posteriori cualquier extensiones o componente.Finalmente, el instalador inicializa tanto el fichero php.ini como al propio PHP para funcionar en Windows. También podrá configura algunosservidores web para que utilicen PHP. Actualmente es capaz de configurar IIS, Apache, Xitami y Sambar; si utiliza otro servidor web, deberáconfigurarlo a mano.Instalación Silenciosa
  25. 25. Página 25PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlInstalación SilenciosaEl instalador también permite ser ejecutado en modo silencioso, muy útil para Administradores de Sistemas que desean implantar PHP fácilmente.Para usar el modo silencioso:msiexec.exe /i php-VERSION-win32-install.msi /qPuede especificar el directorio de instalación como parámetro al instalador. Por ejemplo, para instalarlo en e:php:msiexec.exe /i php-VERSION-win32-install.msi /q INSTALLDIR=e:phpPuede usar la misma sintaxis para especificar el Directorio de Configuración de Apache (APACHEDIR), el directorio del Servidor Sambar(SAMBARDIR), o el directorio del Servidor Xitami (XITAMIDIR).Puede, del mismo modo, especificar qué componentes instalar. Por ejemplo, para instalar la extensión mysqli y el ejecutable CGI:msiexec.exe /i php-VERSION-win32-install.msi /q ADDLOCAL=cgi,ext_php_mysqliLa lista actual de componentes para instalar es la siguiente:MainExecutable - ejecutable php.exe executable ( desde PHP 5.2.10/5.3.0 no está disponible; se incluye por omisión)ScriptExecutable - ejecutable php-win.exeext_php_* - varias extensiones ( por ejemplo: ext_php_mysql para MySQL )apache13 - módulo de Apache 1.3apache20 - módulo de Apache 2.0apache22 - módulo de Apache 2.2apacheCGI - Ejecutable CGI de Apacheiis4ISAPI - módulo ISAPI de IISiis4CGI - ejecutable CGI de IISiis4FastCGI - ejecutable CGI de IISNSAPI - módulo de servidores Sun/iPlanet/Netscapenetserve - ejecutable CGI de Servidores Web NetServeXitami - ejecutable CGI de XitamiSambar - módulo ISAPI del Servidor SambarCGI - ejecutable php-cgi.exePEAR - instalador PEARManual - manual de PHP en formato CHMSi desea más información sobre instalaciones MSI desde la línea de comandos, consulte » http://msdn.microsoft.com/en-us/library/aa367988.aspxActualizando PHP con el instaladorPara actualizar, debe ejecutar el instalador indistintamente desde la línea de comandos o del entorno gráfico. El instalador comprobará sus opcionesde instalación actuales, eliminará la instalación antigua, y reinstalará PHP con las mismas opciones que ya tenía. Se recomienda utilizar este métodopara mantener PHP actualizado, en lugar de sobrescribir a mano cada fichero del directorio de instalación.Manual de InstalaciónEsta sección contiene instrucciones para instalar y configurar manualmente PHP en Windows de Microsoft. Para las instrucciones sobre cómoutilizar el instalador de PHP para instalar y configurar PHP y un servidor web en Windows, consulte Windows Installer (PHP 5.2 y posteriores).Selección y descarga de el paquete de distribución PHPDescarga la distribución binaria de PHP zip » PHP para Windows: Binarios y Fuentes . Hay varias versiones diferentes del paquete zip - Seleccionepor la versión que sea adecuado para el servidor web utilizado:Si se utiliza PHP con IIS a continuación elija PHP 5.3 VC9 Non Thread Safe o PHP 5.2 VC6 Non Thread Safe;Si PHP se utiliza con IIS7 o superior y PHP 5.3+, a continuación los archivos binarios VC9 de PHP que se deben utilizar.Si se utiliza PHP con Apache 1 o Apache 2 a continuación elija PHP 5.3 VC6 o PHP 5.2 VC6.Nota:Versiones VC9 se compilan con el compilador de Visual Studio 2008 y tiene mejoras en el rendimiento y estabilidad. Las versiones VC9requieren que tenga la » Microsoft 2008 C++ Runtime (x86) o la » Microsoft 2008 C++ Runtime (x64) instalado.
  26. 26. Página 26PHP Manual15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.htmlVersiones VC9 se compilan con el compilador de Visual Studio 2008 y tiene mejoras en el rendimiento y estabilidad. Las versiones VC9requieren que tenga la » Microsoft 2008 C++ Runtime (x86) o la » Microsoft 2008 C++ Runtime (x64) instalado.La estructura del paquete PHP y el contenidoDescomprimir el contenido del archivo zip en un directorio de su elección, por ejemplo C:PHP. La estructura de directorios y archivos extraídos dedel zip se verá de la siguiente manera:Ejemplo #1 PHP 5 paquete de estructurac:php|+--dev| || |-php5ts.lib -- php5.lib in non thread safe version|+--ext -- extension DLLs for PHP| || |-php_bz2.dll| || |-php_cpdf.dll| || |-...|+--extras -- empty|+--pear -- initial copy of PEAR|||-go-pear.bat -- PEAR setup script||-...||-php-cgi.exe -- CGI executable||-php-win.exe -- executes scripts without an opened command prompt||-php.exe -- Command line PHP executable (CLI)||-...||-php.ini-development -- default php.ini settings||-php.ini-production -- recommended php.ini settings||-php5apache2_2.dll -- does not exist in non thread safe version||-php5apache2_2_filter.dll -- does not exist in non thread safe version||-...||-php5ts.dll -- core PHP DLL ( php5.dll in non thread safe version)||-...A continuación se muestra la lista de los módulos y archivos ejecutables incluidos en la distribución del archivo zip de PHP:go-pear.bat - el script de configuración de PEAR. Consulte » Instalación (PEAR) para más detalles.php-cgi.exe - ejecutable CGI que se puede utilizar cuando se ejecuta PHP en IIS a través de CGI o FastCGI.php-win.exe - el ejecutable para la ejecución de scripts en PHP sin necesidad de utilizar una ventana de línea de comandos de PHP (Porejemplo, las aplicaciones PHP que utilizan Windows GUI).php.exe - el ejecutable para la ejecución de scripts PHP dentro de una interfaz de línea de comandos (CLI) de PHP.php5apache2_2.dll - Apache 2.2.X module.php5apache2_2_filter.dll - Apache 2.2.X filter.Cambio el fichero php.iniDespués de que el contenido del paquete de PHP se ha extraído, copie el php.ini-production en php.ini en la misma carpeta. Si es necesario, tambiénes posible colocar el php.ini en cualquier otro lugar. Pero se requieren pasos adicionales de configuración como se describe en Configuración de

×