SlideShare a Scribd company logo
1 of 287
Página 1PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Manual de PHP
por:
Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Hannes Magnusson
Georg Richter
Damien Seguy
Jakub Vrana
Y muchos otros
2012-03-02
Editado por: Philip Olson
por:
¿Quieres ayudarnos a traducir? ponte en contacto con: yago[arroba]php.net
Traduciendo 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íguez
2.Yago Ferrer
3.Jesús Ruiz-Ayúcar Vázquez
4.Andrés García
5.Jesús Rafael Cova Huerta
6.Alexander Garzón
y muchos más...
© 1997-2012 the PHP Documentation Group
Copyright
Copyright © 1997 - 2012 por el PHP Documentation Group. Este material puede ser distribuido solamente sujeto a los términos y condiciones
establecidos por la licencia de Creative Commons Attribution 3.0 o superior. Una copia de la Licencia de Commons Attribution 3.0 está distribuida
con 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 alguna
pregunta, por favor contacte con los propietarios del Copyright en » doc-license@lists.php.net. Observe que esta dirección está ligada a una lista de
correo pública.
Manual de PHP
Prefacio
PHP, acrónimo de "PHP: Hypertext Preprocessor", es un lenguaje "Open Source" interpretado de alto nivel, especialmente pensado para desarrollos
web 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 este
lenguaje 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 con
PHP.
Este manual contiene principalmente una referencia de funciones PHP, también contiene una referencia del lenguaje, explicaciones de algunas de las
caracterí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 es
desarrollado puede encontrarse en el apéndice 'Sobre este manual'. Si está interesado en la Historia de PHP, visite el capítulo correspondiente.
Autores y Contribuyentes
Nosotros destacamos a las personas actualmente más activas al frente del manual, pero hay muchos más contribuyentes que nos ayudan en nuestro
trabajo 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
Página 2PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Nosotros destacamos a las personas actualmente más activas al frente del manual, pero hay muchos más contribuyentes que nos ayudan en nuestro
trabajo 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
páginas del manual, que continuamente son incluidos en las referencias, labor de la que también estamos muy agradecidos. Todas las listas a
continuación están en orden alfabético.
Autores y Editores
Los 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, Rick
McGuire, Moacir de Oliveira Miranda Júnior, Kalle Sommer Nielsen, Yasuo Ohgaki, Richard Quadling, Derick Rethans, Rob Richards, Sander
Roobol, 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 Usuarios
Los 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, Szabolcs
Heilig, 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.
Prefacio
Conceptos básicos
Introducción
Tabla 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 que
puede 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>
<?php
echo "Hola, ¡soy un script PHP!";
?>
Página 3PHP Manual
15/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 ?> que
nos 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. El
servidor web puede ser incluso configurado para que procese todos los archivos HTML con PHP y entonces no hay manera que los usuarios puedan
saber 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 los
programadores profesionales. No sienta miedo de leer la larga lista de características de PHP, en poco tiempo podrá empezar a escribir sus primeros
scripts.
Aunque el desarrollo de PHP está centrado en programación de scripts en lado-servidor, se puede utilizar para muchas otras cosas. Siga leyendo y
descubra 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 en
programació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 contenidos
diná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. El
intérprete PHP (CGI módulo), un servidor web y un navegador. Es necesario hacer funcionar el servidor, con PHP instalado. El resultado del
programa PHP se puede obtener a través del navegador, conectándose con el servidor web. Consultar la sección Instrucciones de instalación
para 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 el
intérprete PHP para usarlo de esta manera. Este tipo de uso es ideal para scripts ejecutados regularmente desde cron (en *nix o Linux) o el
Planificador de tareas (en Windows). Estos scripts también pueden ser usados para tareas simples de procesamiento de texto. Consultar la
secció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 si
conoce bien PHP, y quisiera utilizar algunas características avanzadas en programas clientes, puede utilizar PHP-GTK para escribir dichos
programas. También es posible escribir aplicaciones independientes de una plataforma. PHP-GTK es una extensión de PHP, no disponible en
la 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 hoy
en día, incluyendo Apache, IIS, y muchos otros. Esto incluye cualquier servidor web que pueda utilizar el binario PHP de FastCGI, como lighttpd y
nginx. 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 utilizar
programació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 incluso
películas Flash (usando libswf y Ming) sobre la marcha. También puede presentar otros resultados, como XHTML y cualquier otro tipo de ficheros
XML. PHP puede autogenerar éstos archivos y almacenarlos en el sistema de archivos en vez de presentarlos en la pantalla, creando un caché en el
lado-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 con
acceso habilitado a una base de datos es increiblemente simple utilizando una de las extensiones específicas (por ejemplo, para mysql), o utilizar una
capa 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 de
la 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 para
el intercambio de datos entre lenguajes de programación en web. Y hablando de interconexión, PHP puede utilizar objetos Java de forma
transparente como objetos de PHP.
Página 4PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
el intercambio de datos entre lenguajes de programación en web. Y hablando de interconexión, PHP puede utilizar objetos Java de forma
transparente como objetos de PHP.
PHP tiene útiles características de procesamiento de texto, las cuales incluyen las Expresiones Regulares Compatibles de Perl (PCRE), muchas
extensiones, y herramientas para el acceso y análisis de documentos XML. PHP estandardiza todas las extensiones XML sobre el fundamento sólido
de 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ían
estar 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 secciones
Instalación de PHP y Referencia de las funciones para una explicación de las extensiones mencionadas aquí.
Un tutorial sencillo
Tabla de contenidos
¿Qué necesito?
Su primera página con PHP
Algo útil
Uso de Formularios
Usando 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ámicas
con 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ás
informació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 que
normalmente 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 la
mayorí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 los
analizará por usted. No hay necesidad de compilar nada o instalar otras herramientas. Mírelo de esta manera, los archivos PHP son tan simples como
archivos 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 de
pá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 » Recursos
PHP 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 por
supuesto » 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 en
nuestra » 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. Para
encontrar paquetes para Debian quizá quiera visitar » apt-get.
Su primera página con PHP
Comienze 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>
Página 5PHP Manual
15/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 URL
será 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 la
función de PHP echo(). El fichero no debe ser ejecutable o especial de ninguna forma. El servidor reconoce que este fichero debe ser interpretado por
PHP 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 cual
tiene 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, lo
má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 titulado
Instalació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 el
archivo desde el sistema de archivos, entonces probablemente no estará siendo analizado por PHP. Si el problema persiste no dude en usar alguna de
las 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 el
inicio de la etiqueta PHP. Después indicamos la sentencia y abandonamos el modo PHP usando ?>. Puede salir de PHP y regresar cuantas veces lo
desee 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ínea
Los 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 puede
ser muy útil si pone muchos bloques de PHP o incluye ficheros que contienen PHP que no se supone que deban mostarar nada. Al mismo
tiempo, puede resultar un poco confuso. Se puede poner un espacio después de cerrar ?> para forzar el mostrar un espacio y un avance de
lí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 texto
Hay muchos editores de texto y Entornos Integrados de Desarrollo (IDE por sus siglas en Inglés) que puede usar para crear, editar, y organizar
archivos PHP. Puede encontrar una lista parcial de éstos en » Lista de editores de PHP. Si desea recomendar un editor, por favor visite la
página mencionada anteriormente, y comunique su recomendación a las personas encargadas del mantenimiento para que lo incluyan en la
lista. Contar con un editor que resalte la sintaxis de PHP puede ser de mucha ayuda.
Nota: acerca de los procesadores de texto
Los procesadores de texto como StarOffice Writer, Microsoft word y Abiword no son buenas opciones para editar archivos de PHP. Si desea
usar 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í puede
escribir 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 una
llamada a la función phpinfo() para obtener información acerca de su sistema y configuración como las variables predefinidas disponibles, los
mó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
Página 6PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Ejemplo #2 Obtener la información del sistema desde PHP
<?php phpinfo(); ?>
Algo útil
Hagamos ahora algo que puede ser más útil. Vamos a comprobar qué clase de navegador está utilizando el usuario. Para hacerlo, vamos a consultar la
información que el navegador nos envía como parte de su petición HTTP. Esta información es guardada en una variable. Las variables siempre
comienzan 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 como
obsoletas, 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)
<?php
echo $_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 titulada
Variables 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
<?php
if (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, probablemente
deberí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 Referencia
del 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 otra
cadena. En este caso anterior estamos buscando 'MSIE' (llamado aguja) dentro de $_SERVER['HTTP_USER_AGENT'] (llamado pajar). Si la cadena
fue 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, la
declaració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 de
crear ejemplos similares usando if, else, y otras funciones como strtoupper() y strlen(). Cada página del manual contiene ejemplos que puede usar. Si
no 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 y
la 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
Página 7PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Ejemplo #3 Mezcla de los modos HTML y PHP
<?php
if (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 muy
importante y potente que debemos observar aquí, y es que la fluidez lógica de la secuencia de comandos permanece intacta. Sólamente las partes
donde hay bloques HTML serán enviadas al visor dependiendo del resultado que strstr() devuelva. En otras palabras, si la cadena MSIE fue
encontrada o no.
Uso de Formularios
Otra de las características más importantes de PHP es que gestiona formularios HTML. El concepto básico que es importante entender es que
cualquier elemento de los formularios estará disponible automáticamente en su código PHP. Por favor lea la sección del manual titulada Variables
fuera 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 éste
formulario 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 formulario
Hola <?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 que
son especiales en html sean codificados adecuadamente de manera que nadie pueda inyectar etiquetas HTML o Javascript en tu página web. El
campo 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 establecidas
automáticamente por PHP. Anteriormente hemos usado la superglobal $_SERVER y ahora estamos apunto de introducirte la superglobal $_POST que
contiene 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 del
formulario estarían en la superglobal $_GET. en lugar de POST. En su lugar también puedes usar la superglobal $_REQUEST, si no le importa el
tipo 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 de
HTML, 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 el
caso, en la sección características de la documentación puede encontrarse una pequeña introducción a la manipulación de datos recibidos desde
XForms.
Usando código antiguo en nuevas versiones de PHP
Página 8PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Usando código antiguo en nuevas versiones de PHP
Ahora que PHP ha crecido y se ha convertido en un lenguaje popular, hay muchos más repositorios y librerias que contienen código que puede
reusar. Los desarrolladores de PHP han tratado en toda medida que sea compatible con versiones anteriores, es decir, si una secuencia de comandos
fue 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). Las
siguientes 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 PHP
5.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, la
directiva PHP register_globals está off por defecto en php.ini. El método preferido para obtener acceso a éstos valores es por medio de las
variables superglobales mencionadas anteriormente. Antiguas secuencias de comandos, libros y tutoriales antiguos puede que asuman que ésta
directiva 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 las
conferencias 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 PHP
Algo útil
Uso de Formularios
Usando código antiguo en nuevas versiones de PHP
¿Y ahora qué?
Instalación y configuración
Consideraciones generales de instalación
Antes de empezar la instalación, primero necesita saber para que se quiere utilizar PHP. Existen tres campos principales donde se puede utilizar PHP
tal 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 comandos
Aplicaciones 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 ya
dispone 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 en
Windows). Posiblemente esté alquilando espacio web en una empresa. De esta forma, no se necesita instalar nada, solo tiene que escribir sus scripts
PHP, subirlos al servidor que está alquiando y ver los resultados en su navegador.
Página 9PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Windows). Posiblemente esté alquilando espacio web en una empresa. De esta forma, no se necesita instalar nada, solo tiene que escribir sus scripts
PHP, 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 tipos
servidores 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 no
tiene un módulo de soporte para su servidor web, siempre puede usarlo como GCI o FastGCI. Esto significa configurar el servidor para usar el CGI
ejecutable 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 de
texto 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ás
informació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 escribir
pá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 como
ejecutables 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 Unix
Tabla de contenidos
Apache 1.3.x sobre sistemas Unix
Apache 2.x sobre sistemas Unix
Lighttpd 1.4 en sistemas Unix
Servidores Sun, iPlanet y Netscape sobre Sun Solaris
CGI y configuraciones de línea de comandos
Notas de instalación específicas para HP-UX
Notas de instalación para OpenBSD
Solaris sugerencias específicas de instalación
Notas de instalación en Debian GNU/Linux
Esta 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ón
especí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 PHP
centradas 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 Unix
tienen algún tipo de sistema de instalación de paquetes. Esto puede ayudar en preparar una configuración standard, pero si se requiere tener un
conjunto diferente de características (tales como un servidor seguro, o un manejador diferente de base de datos), podría ser necesario construir PHP
y/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 ya
ha 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 C
Un servidor web
Cualquier 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 superior
flex: Versión 2.5.4 (para PHP <= 5.2)
Página 10PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
flex: Versión 2.5.4 (para PHP <= 5.2)
bison: Versión 1.28 (preferido), 1.35, o 1.75
El 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. Es
posible obtener una lista de todas las opciones disponibles junto con una descripción corta ejecutando ./configure --help. El manual documenta las
diferentes opciones por separado. Se encontrarán las opciones principales en el apéndice, mientras que las diferentes opciones específicas de las
extensiones 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 se
puede encontrar el porque, véase la sección de problemas.
Apache 1.3.x sobre sistemas Unix
Esta sección contiene notas y consejos específicos a instalaciones Apache de PHP sobre plataformas Unix. También se tienen instrucciones y notas
para 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 opciones
específicas a extensiones descritas en sus respectivos lugares en el manual. Los números de versión han sido omitidos aquí, para asegurar que las
instrucciones 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 PHP
1. gunzip apache_xxx.tar.gz
2. tar -xvf apache_xxx.tar
3. gunzip php-xxx.tar.gz
4. tar -xvf php-xxx.tar
5. cd apache_xxx
6. ./configure --prefix=/www --enable-module=so
7. make
8. make install
9. cd ../php-xxx
10. Ahora, se configura PHP. Aquí es donde se personaliza PHP
con varias opciones, como cuales extensiones se habilitarán. Realizar un
./configure --help para obtener una lista de opciones disponibles. En el ejemplo
se realiza un configure simple con soporte para Apache 1 y MySQL. La
ruta de acceso a apxs puede diferir del ejemplo.
./configure --with-mysql --with-apxs=/www/bin/apxs
11. make
12. make install
Si se decide cambiar las opciones de configure después de la instalación,
solamente se necesita repetir los últimos tres pasos. Sólo hace falta
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 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.ini
Se puede editar el fichero .ini para fijar las opciones de PHP. Si se prefiere
php.ini en otra ubicación, utilice --with-config-file-path=/some/path en
el paso 10.
Si en vez de ello se elige php.ini-production, asegurarse de leer la lista
de 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 derecho
de el enunciado LoadModule debe apuntar a la ruta del módulo de PHP
en su sistema. El make install anterior podría haber agregado esto ya
por usted, pero asegúrese de revisarlo.
LoadModule php5_module libexec/libphp5.so
15. Y en la sección AddModule de httpd.conf, en algún lugar por debajo de
ClearModuleList, agregar esto:
AddModule mod_php5.c
16. Indicar a Apache que procese ciertas extensiones como PHP. Por ejemplo,
hacer que Apache procese la extensión .php como PHP. Se podría
Página 11PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
hacer que Apache procese la extensión .php como PHP. Se podría
hacer que cualquier extensión o extensiones sean procesadas como PHP simplemente añadiendo más, con
cada una separada por un espacio. Se agregará .phtml para demostrarlo.
AddType application/x-httpd-php .php .phtml
Tambié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 .phps
17. Utilice el procedimiento normal para iniciar el servidor Apache. (Se debe
detener y reiniciar el servidor, no sólo causar que el servidor recargue utilizando
una 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 PHP
1. gunzip -c apache_1.3.x.tar.gz | tar xf -
2. cd apache_1.3.x
3. ./configure
4. cd ..
5. gunzip -c php-5.x.y.tar.gz | tar xf -
6. cd php-5.x.y
7. ./configure --with-mysql --with-apache=../apache_1.3.x
8. make
9. make install
10. cd ../apache_1.3.x
11. ./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 esta
etapa. 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 si
esta es la primera instalación entonces se necesita dar "make install" también)
13. cd ../php-5.x.y
14. cp php.ini-development /usr/local/lib/php.ini
15. 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 .php
Dependiendo de la instalación de Apache y la variante de Unix, hay muchas maneras posibles de detener y reiniciar el servidor. Abajo hay algunas
líneas típicas utilizadas para reiniciar el servidor, para diferentes instalaciones apache/unix. Se debe reemplazar /path/to/ con la trayectoria a estas
aplicaciones en el sistema.
Ejemplo #3 Comandos de ejemplo para reiniciar Apache
1. Diferentes variantes de Linux y SysV:
/etc/rc.d/init.d/httpd restart
2. Utilizando scripts apachectl:
/path/to/apachectl stop
/path/to/apachectl start
3. httpdctl y httpsdctl (Utilizando OpenSSL), similar a apachectl:
/path/to/httpsdctl stop
/path/to/httpsdctl start
4. Usando mod_ssl, u otro servidor SSL, que se quiera detener e iniciar
manualmente:
/path/to/apachectl stop
/path/to/apachectl startssl
Las ubicaciones de los binarios apachectl y http(s)dctl varían frecuentemente. Si el sistema tiene los comandos locate o whereis o which, éstos
pueden ayudar en encontrar los programas de control del servidor.
Distintos ejemplos de compilaciones de PHP para apache son como sigue:
./configure --with-apxs --with-pgsql
Esto creará una librería compartida libphp5.so que se carga en Apache utilizando una línea LoadModule en el fichero de Apache httpd.conf. El
soporte para PostgreSQL está incluido dentro de esta librería.
Página 12PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Esto creará una librería compartida libphp5.so que se carga en Apache utilizando una línea LoadModule en el fichero de Apache httpd.conf. El
soporte para PostgreSQL está incluido dentro de esta librería.
./configure --with-apxs --with-pgsql=shared
Esto 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 usando
la 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-pgsql
Esto 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 de
Apache creará libphp5.a y lo enlazará estáticamente dentro del binario httpd. El soporte para PostgreSQL se incluye directamente dentro de este
binario 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=shared
Igual que en el anterior, excepto que en vez de incluir soporte para PostgreSQL directamente en el httpd final se obtiene una librería compartida
pgsql.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 objeto
compartido 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 de
Apache 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 nobody
Group "#-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 abrir
ficheros.
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 de
apxs que está en las fuentes de apache, si no la que en realidad está instalada en el sistema.
Apache 2.x sobre sistemas Unix
Esta sección contiene notas y consejos específicos a las instalaciones de Apache 2.x de PHP sobre sistemas Unix.
Advertencia
No 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. Para
información sobre cómo, lea la correspondiente entrada de la FAQ sobre utilizar Apache2 con un MPM threaded
La » 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ón
acerca 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 lugares
anteriormente 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 los
ejemplos 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 actualmente
la 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.gz
tar -xf httpd-2_x_NN.tar
2. De la misma manera, obtener y desempacar las fuentes de PHP:
Página 13PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
2. De la misma manera, obtener y desempacar las fuentes de PHP:
gunzip php-NN.tar.gz
tar -xf php-NN.tar
3. 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-so
make
make install
4. 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 start
y deténgase el servidor para proceder con la configuración para PHP:
/usr/local/apache2/bin/apachectl stop
5. 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 y
MySQL.
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 algunas
distribuciones pueden renombrar apxs cómo apxs2.
cd ../php-NN
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
make
make install
Si 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 make
install. 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.ini
cp php.ini-development /usr/local/lib/php.ini
Se 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ódulo
PHP 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.so
8. Indicar a Apache que procese ciertas extensiones como PHP. Por ejemplo, hágase que Apache procese ficheros .php como PHP. En vez de
solamente utilizar la directiva de Apache AddType, se desea evitar subidas de ficheros potencialmente peligrosas y que ficheros creados tal
como exploit.php.jpg sean ejecutados como PHP. Utilizando este ejemplo, se puede hacer que cualquier extensión o extensiones sean
procesadas 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, se
utilizarí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, se
utiliza esto:
Página 14PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Y para permitir que ficheros .phps sean manejados por el filtro de fuentes de php, y desplegado como código fuente con sintaxis resaltada, se
utiliza 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 On
RewriteRule (.*.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 otra
manera sensible incluida en código fuente.
9. Utilícese el procedimiento normal para iniciar el servidor Apache, por ej.:
/usr/local/apache2/bin/apachectl start
O
service httpd restart
Siguiendo los pasos anteriores se tendrá corriendo un servidor web Apache2 con soporte para PHP como un módulo SAPI. Por supuesto existen
muchas opciones más de configuración disponibles para Apache y PHP. Para más información teclee ./configure --help en el árbol de fuentes
correspondiente.
Apache se puede compilar con soporte multihilos seleccionando el worker MPM, en vez del prefork MPM standard, cuando Apache se compila. Esto
se realiza agregando la siguiente opción al argumento pasado a ./configure, en el paso 3 anterior:
--with-mpm=worker
Esto no debe llevarse a cabo sin ser consciente de las consecuencias de esta decisión, y tener al menos un ligero entendimiento acerca de las
implicaciones. 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 la
opción Zend Thread Safety (ZTS) experimental. Bajo esta configuración, no todas las extensiones se encontrarán disponibles. La
configuración recomendada es compilar Apache con el MPM-module prefork por omisión.
Lighttpd 1.4 en sistemas Unix
Esta 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 anteriores
debe configurarse PHP con --enable-fastcgi. Para verificar que PHP tiene fastcgi habilitado, php -v debe contener PHP 5.2.5 (cgi-fcgi) En versiones
anteriores a PHP 5.2.3, fastcgi estaba habilitado en el binario de php (no había php-cgi).
Permitiendo que Lighttpd lance procesos de php
Para configurar Lighttpd para que se conecte a php y lance procesos fastcgi, debe editar lighttpd.conf. Se recomienda utilizar sockets para conectar
fastcgi a los procesos del sistema local.
Ejemplo #1 Extracto de lighttpd.conf
server.modules += ( "mod_fastcgi" )
fastcgi.server = ( ".php" =>
((
Página 15PHP Manual
15/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 variable
de entorno PHP_FCGI_CHILDREN. La directiva "bin-environment" establece el entorno de los nuevos procesos. Cada vez que se alcance un
determinado 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 los
procesos 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á por
PHP_FCGI_CHILDREN (2 min-procs * 16 hijos produce 32 oyentes).
Lanzando procesos con spawn-fcgi
Lighttpd contiene el programa spawn-fcgi que facilita lanzar procesos fastcgi.
Lanzando procesos php-cgi
Pese a que es más laborioso, es posible lanzar procesos sin spawn-fcgi. La variable de entorno PHP_FCGI_CHILDREN controla cuántos procesos
hijo de PHP se lanzarán para manejar las peticiones entrantes. PHP_FCGI_MAX_REQUESTS determinará el tiempo de vida (en peticiones) de cada
proceso 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-cgi
PHP=/usr/local/bin/php-cgi
# Ubicación del fichero PID
PHP_PID=/tmp/php.pid
# Enlazando a una dirección
#FCGI_BIND_ADDRESS=10.0.1.1:10000
# Enlazando a un socket de dominio
FCGI_BIND_ADDRESS=/tmp/php.sock
PHP_FCGI_CHILDREN=16
PHP_FCGI_MAX_REQUESTS=10000
env -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 remotas
Para poder tener aplicaciones escalables, pueden lanzarse instancias de fastcgi en múltiples equipos remotos.
Ejemplo #3 Conexión a instancias de php-fastcgi remotas
fastcgi.server = ( ".php" =>
(( "host" => "10.0.0.2", "port" => 1030 ),
( "host" => "10.0.0.3", "port" => 1030 ))
)
Servidores Sun, iPlanet y Netscape sobre Sun Solaris
Esta sección contiene notas y consejos específicos al servidor web Sun Java System, servidor web Sun ONE, instalaciones de servidores iPlanet y
Netscape 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
Página 16PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
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
personalizados. 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.html
Para construir PHP con los servidores web Sun JSWS/Sun ONE WS/iPlanet/Netscape, introduzca el directorio de instalación apropiado para la
opció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.13
automake-1.4
bison-1_25-sol26-sparc-local
flex-2_5_4a-sol26-sparc-local
gcc-2_95_2-sol26-sparc-local
gzip-1.2.4-sol26-sparc-local
m4-1_4-sol26-sparc-local
make-3_76_1-sol26-sparc-local
mysql-3.23.24-beta (si se desea soporte para mysql)
perl-5_005_03-sol26-sparc-local
tar-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.tar
5. Cambiarse al directorio de PHP ya extraído: cd ../php-x.x.x
6. Para el siguiente paso, asegurar que /opt/netscape/suitespot/ sea donde el servidor netscape está instalado. De no ser así, cambiar a la ruta de
acceso correcta y ejecutar:
./configure --with-mysql=/usr/local/mysql 
--with-nsapi=/opt/netscape/suitespot/ 
--enable-libgcc
7. 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 de
configuración.
Instrucciones de configuración para Sun/iPlanet/Netscape
Primeramente quizás sea necesario agregar algunas rutas de acceso al entorno LD_LIBRARY_PATH para que el servidor encuentre todas las librerías
compartidas. Esto puede hacerse de mejor manera en el script de arranque del servidor web. El script de arranque se encuentra comúnmente
localizado 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=php
2. 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 'AddLog'
Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
Página 17PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Service 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 una
docroot="/ruta/a/raíz_de_documentos" específica al contexto php4_execute es llamado. Para llaves ini boleanas favor de utilizar 0/1 como
valor, 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án
como 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 AUTENTICACION
LE ES PASADA AL SCRIPT DE PHP. Para configurar la autenticación de PHP para el servidor entero, agregar la línea siguiente al objeto
por 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 muy
grandes, se recomienda elevarlo con el servidor de administración (en la sección "MAGNUS EDITOR").
Ambiente CGI y modificaciones recomendadas en php.ini
Importante cuando se escriben scripts de PHP, es el hecho de que Sun JSWS/Sun ONE WS/iPlanet/Netscape es un servidor web multihilos. Por ello
todas las peticiones se corren en el mismo espacio de proceso (el espacio del servidor web mismo) y este espacio tiene solamente un ambiente. Si se
quiere tener variables CGI como PATH_INFO, HTTP_HOST etc. la manera correcta no es intentar esto al viejo estilo de PHP con getenv() o una
manera similar (registrar globales al ambiente, $_ENV). Solamente se obtendrá el ambiente del servidor web que se está ejecutando. ¡Sin ninguna
variable 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 del
servidor 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 el
ambiente de el servidor web iniciado tiene algunas variables de CGI en él. Se puede probar esto iniciando el servidor web, no desde el
servidor de administración. Utilizar la línea de comando como usuario root e iniciarlo manualmente - se verá que no hay variables de
ambiente 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 se
tienen 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 = On
Uso 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 cada
página de error que se quiera sobreescribir:
Página 18PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Error 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 una
pá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 y
reemplazando 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 la
página web. Esta función utiliza algunas características no documentadas de la librería NSAPI. En Unix el módulo automáticamente busca las
funciones 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 comandos
Por defecto, PHP se construye como un programa CLI y CGI, que puede ser utilizado para el procesamiento de CGI. Si está ejecutando un servidor
web 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 permite
a los usuarios ejecutar diferentes páginas con PHP bajo diferentes identificadores de usuarios.
Advertencia
Al usar el modo CGI, su servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse de
estos ataques.
Pruebas
Si has construido PHP como un programa CGI, puede probar su construcción escribiendo make test. Siempre es una buena idea probar su
construcció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ás
adelante.
Utilización de variables
Algunos servidores suministrando variables de entorno no se definen en las actuales » CGI/1.1 specification. Sólo las siguientes variables no se
definen: 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-UX
Esta 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-UX
ha sido removida. Por ahora, favor de considerar la lectura de los siguientes recursos externos: » Building Apache and PHP on HP-UX 11.11
Notas de instalación para OpenBSD
Página 19PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Notas de instalación para OpenBSD
Esta sección contiene notas y consejos específicos a la instalación de PHP sobre » OpenBSD 3.6.
Utilizando paquetes binarios
Utilizar paquetes binarios para instalar PHP sobre OpenBSD es el método más simple y recomendado. El paquete principal ha sido separado de los
distintos módulos, y cada uno puede ser instalado removido independientemente de los otros. Los ficheros que se necesitan pueden ser encontrados
en 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 un
vistazo 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 y
desactivar 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.tgz
Leer la página del manual » packages(7) para mas información sobre paquetes binarios en OpenBSD.
Utilizando portes
También se puede compilar PHP a partir de fuentes utilizando el » árbol de portes. Sin embargo, esto sólo se recomienda para usuarios familiarizados
con OpenBSD. El porte de PHP 4 está dividido en dos subdirectorios: core y extensions. El directorio extensions genera subpaquetes para todos los
mó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, para
evitar compilar el módulo imap, fijar el sabor o FLAVOR a no_imap.
Problemas comunes
La 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 ficheros
debajo 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, o
utilizar un medio alternativo de almacenamiento de sesiones. Además, los sockets de base de datos necesitan colocarse dentro de la jaula o
escuchar en la interfaz de localhost. Se se hace uso de funciones de red, algunos ficheros de /etc tales como /etc/resolv.conf y /etc/services
tendrán que ser movidos a /var/www/etc. El paquete PEAR de OpenBSD automáticamente se instala dentro de los directorios correctos del
chroot, 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 de
fuentes tipográficas que requieren de X11, es mejor instalar el paquete php4-gd-4.3.8-no_x11.tgz.
Ediciones antiguas
Ediciones antiguas de OpenBSD utilizaban el sistema FLAVORS para compilar un PHP enlazado estáticamente. Dado que es difícil generar
paquetes binarios utilizando este método, ahora es depreciado. Aún es posible utilizar los viejos árboles estables de ports si así se desea, pero carecen
de soporte por parte del equipo de OpenBSD. Si se tiene algún comentario al respecto, el responsable actual del port es Anil Madhavapeddy (avsm
arroba openbsd punto org).
Solaris sugerencias específicas de instalación
Esta sección contiene notas y sugerencias específicas para la instalación de PHP en sistemas Solaris.
Software necesario
Página 20PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Software necesario
La instalacion Solaris carece con frecuencia de los compiladores de C y sus herramientas relacionadas. Lea las preguntas frecuentes para obtener
información sobre porqué usar versiones GNU de algunas de estas herramientas.
Para descomprimir la distribución PHP se necesita
tar
gzip ó
bzip2
Para compilar PHP se necesita
gcc (recomendado, aunque puede que sirvan otros compiladores de C)
make
GNU sed
Para compilar extensiones adicionales o hackear el código PHP puede que se necesite también
flex (versión PHP 5.2 o posterior)
re2c
bison
m4
autoconf
automake
Además, usted tendrá que instalar (y posiblemente compilar) cualquier software adicional específico para la configuración, tales como Oracle o
MySQL.
Empleo de paquetes
Se puede simplificar el procesao de intalación de Solaris mediante el uso de pkgadd para instalar la mayoría de sus componentes necesarios. El
Sistema de Empaquetado de Imagen (IPS) para Solaris 11 Express contiene también la mayoría de los componentes requeridos para la instalación
usando el comando pkg.
Notas de instalación en Debian GNU/Linux
Esta sección contiene notas y consejos específicos para instalar PHP sobre » Debian GNU/Linux.
Advertencia
No se ofrece soporte de builds no oficiales de terceros. Cualquier bug debe ser informado al equipo de Debian a no ser que puedan reproducirse
usando 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ífica
para otras opciones, tales como utilizar ya sea los comandos apt-get o aptitude. En esta página del manual estos dos comandos se pueden utilizar
indistintamente.
Utilizando APT
Primero, nótese que otros paquetes relacionados podrían ser deseables como libapache2-mod-php5 para integración con Apache 2, y php-pear para
PEAR.
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 el
comando apt-get update.
Ejemplo #1 Ejemplo de Instalación en Debian con Apache 2
# apt-get install php5-common libapache2-mod-php5 php5-cli
APT instalará automáticamente el módulo PHP 5 para Apache 2 junto con todas sus dependencias, y luego lo activará. Apache debería reiniciarse
para que los cambios tengan efecto. Por ejemplo:
Ejemplo #2 Deteniendo e iniciando Apache una vez que PHP está instalado
Página 21PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Ejemplo #2 Deteniendo e iniciando Apache una vez que PHP está instalado
# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start
Un mejor control de la configuración
En la sección anterior, PHP se instaló únicamente con los módulos principales. Es muy probable que se deseen módulos adicionales, tales como
MySQL, 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 mysql
Los ejemplos mostrarán una gran cantidad de paquetes incluyendo varios específicos a PHP como php5-cgi, php5-cli y php5-dev. Determine cuales
son 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-curl
APT 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 Frecuentes
Si los scripts de PHP no se están interpretando por el servidor web, entonces es probable que PHP no haya sido agregado al fichero de
configuración del servidor web, que en Debian puede ser /etc/apache2/apache2.conf o algo semejante. Véase el manual de Debian para
mayores 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 diferencias
entre estos comandos va más allá del alcance de este manual.
Instalación en Mac OS X
Tabla de contenidos
Empleo de paquetes
Usando el paquete PHP
Compilar PHP en Mac OS X
Esta 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 similar
a la guía de instalación Unix .
Empleo de paquetes
Hay 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 posible
que 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 si
alguien 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
Página 22PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Homebrew: » http://github.com/mxcl/homebrew
Usando el paquete PHP
PHP 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 cuantas
lí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 del
programa 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 muy
recomendable tener siempre actualizado PHP a la última versión. Como casi todo el software vivo, y PHP no es una excepción, se crean nuevas
versiones 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 totalmente
operativa. 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 servidor
web 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.conf
Mediante 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 a
que 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 Comandos
de 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 que
el 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 estas
líneas se encuentran separadas, asi que tendrá que localizar ambas en el fichero):
# LoadModule php5_module libexec/httpd/libphp5.so
# AddModule mod_php5.c
Fí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áticamente
seran interpretados como PHP.
<IfModule mod_php5.c>
# If php is turned on, we respect .php and .phps files.
AddType application/x-httpd-php .php
AddType 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 pueden
ser 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 usan
index.php y index.html. Por defecto index.php está habilitado porque está incluido en la comprobación de PHP mostrada arriba. Ajuste a
conveniencia.
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 empleando
phpinfo() se puede obtener esta información. Si no se está usando php.ini, PHP usará los valores por defecto. Véase también las preguntas
frecuentes 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 del
servidor 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
Página 23PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Library/WebServer/Documents pero puede ser configurada en httpd.conf. Como alternativa, el DocumentRoot por defecto para usuarios
individuales es /Users/yourusername/Sites
7. 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 siguiente
có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.php
CLI (o CGI en versiones antiguas) también es llamado de forma correcta php y posiblemente existe como /usr/bin/php. Abra el Terminal, lea la
secció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 X
Utilice la guía de instalación en Unix para compilar PHP en Mac OS X.
Instalación en sistemas Windows
Tabla de contenidos
Windows Installer (PHP 5.1.0 y anteriores)
Windows Installer (PHP 5.2 y posterior)
Manual de Instalación
Microsoft IIS
Microsoft IIS 5.1 y IIS 6.0
Microsoft IIS 7.0 y posteriores
Apache 1.3.x en Microsoft Windows
Apache 2.x en Microsoft Windows
Servidores Sun, iPlanet y Netscape en Microsoft Windows
Sambar Server en Microsoft Windows
Xitami en Microsoft Windows
Construcción de la fuente
Instalación de extensiones en Windows
Linea de Comandos PHP en Microsoft Windows
Esta 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 veces
nos 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.
Advertencia
Hay 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 los
paquetes oficiales de Windows de » http://www.php.net/downloads.php es la mejor opción para que el sistema este seguro y optimizado.
Página 24PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Hay 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 los
paquetes 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 de
PHP 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 PECL
Nota:
Si bien el instalador de Windows es una manera fácil de trabajar con PHP, es restringido en muchos aspectos como, por ejemplo, la
configuració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 que
avanza.
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 simplemente
empezar a usar PHP.
Advertencia
Tenga 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 el
modo manual, y establecer todos los opción con cuidado. Esta configuración automática disminuiye el trabajo de instalación de PHP, pero no es
destinado 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 permite
configurar 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 los
siguientes métodos de instalación.
Instalación Normal
Ejecute el instalador MSI y siga las instrucciones que le indica el asistente de instalación. En primer lugar, se le solicitará que seleccione el Servidor
Web 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 cada
element 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 las
subcategorías del elemento seleccionado (por ejemplo, al marcar esta opción en "PDO", se instalarán todos los Drivers PDO).
Advertencia
Se recomienda no instalar todas las extensiones de forma predeterminada, ya que muchas de ellas tienen dependencias con bibliotecas externas a
PHP. En lugar de eso, utilize el Modo de Reparación de Instalación (Installation Repair Mode) desde el panel de control de "Agregar o quitar
programas". 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 algunos
servidores 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
Página 25PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Instalación Silenciosa
El 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 /q
Puede 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:php
Puede 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_mysqli
La 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.exe
ext_php_* - varias extensiones ( por ejemplo: ext_php_mysql para MySQL )
apache13 - módulo de Apache 1.3
apache20 - módulo de Apache 2.0
apache22 - módulo de Apache 2.2
apacheCGI - Ejecutable CGI de Apache
iis4ISAPI - módulo ISAPI de IIS
iis4CGI - ejecutable CGI de IIS
iis4FastCGI - ejecutable CGI de IIS
NSAPI - módulo de servidores Sun/iPlanet/Netscape
netserve - ejecutable CGI de Servidores Web NetServe
Xitami - ejecutable CGI de Xitami
Sambar - módulo ISAPI del Servidor Sambar
CGI - ejecutable php-cgi.exe
PEAR - instalador PEAR
Manual - manual de PHP en formato CHM
Si desea más información sobre instalaciones MSI desde la línea de comandos, consulte » http://msdn.microsoft.com/en-us/library/aa367988.aspx
Actualizando PHP con el instalador
Para actualizar, debe ejecutar el instalador indistintamente desde la línea de comandos o del entorno gráfico. El instalador comprobará sus opciones
de instalación actuales, eliminará la instalación antigua, y reinstalará PHP con las mismas opciones que ya tenía. Se recomienda utilizar este método
para mantener PHP actualizado, en lugar de sobrescribir a mano cada fichero del directorio de instalación.
Manual de Instalación
Esta sección contiene instrucciones para instalar y configurar manualmente PHP en Windows de Microsoft. Para las instrucciones sobre cómo
utilizar 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 PHP
Descarga la distribución binaria de PHP zip » PHP para Windows: Binarios y Fuentes . Hay varias versiones diferentes del paquete zip - Seleccione
por 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 VC9
requieren que tenga la » Microsoft 2008 C++ Runtime (x86) o la » Microsoft 2008 C++ Runtime (x64) instalado.
Página 26PHP Manual
15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html
Versiones VC9 se compilan con el compilador de Visual Studio 2008 y tiene mejoras en el rendimiento y estabilidad. Las versiones VC9
requieren que tenga la » Microsoft 2008 C++ Runtime (x86) o la » Microsoft 2008 C++ Runtime (x64) instalado.
La estructura del paquete PHP y el contenido
Descomprimir el contenido del archivo zip en un directorio de su elección, por ejemplo C:PHP. La estructura de directorios y archivos extraídos de
del zip se verá de la siguiente manera:
Ejemplo #1 PHP 5 paquete de estructura
c: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 (Por
ejemplo, 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.ini
Despué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én
es posible colocar el php.ini en cualquier otro lugar. Pero se requieren pasos adicionales de configuración como se describe en Configuración de
Manual 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

More Related Content

What's hot (19)

Apache
ApacheApache
Apache
 
Programacion - Php
Programacion - PhpProgramacion - Php
Programacion - Php
 
Php1
Php1Php1
Php1
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Manual Programacion Php
Manual Programacion PhpManual Programacion Php
Manual Programacion Php
 
MAnual de php básico
MAnual de php básicoMAnual de php básico
MAnual de php básico
 
Php tema 4
Php tema 4Php tema 4
Php tema 4
 
Curso php dia1
Curso php dia1Curso php dia1
Curso php dia1
 
Php
PhpPhp
Php
 
PHP IUTE
PHP IUTEPHP IUTE
PHP IUTE
 
Programacion Internet
Programacion InternetProgramacion Internet
Programacion Internet
 
QUE ES PHP
QUE ES PHPQUE ES PHP
QUE ES PHP
 
Php apesteguia
Php apesteguiaPhp apesteguia
Php apesteguia
 
Phpmodificada.ppt
Phpmodificada.pptPhpmodificada.ppt
Phpmodificada.ppt
 
Marianapalacio katerinemarin
Marianapalacio katerinemarinMarianapalacio katerinemarin
Marianapalacio katerinemarin
 
Trabajo especial copy
Trabajo especial   copyTrabajo especial   copy
Trabajo especial copy
 
Php jessi
Php jessiPhp jessi
Php jessi
 
Php
PhpPhp
Php
 
Libro4
Libro4Libro4
Libro4
 

Similar to Manual de php 5.4 (20)

Trabajo especial (php)
Trabajo especial (php)Trabajo especial (php)
Trabajo especial (php)
 
Lenguaje de Programación PHP
Lenguaje de Programación PHPLenguaje de Programación PHP
Lenguaje de Programación PHP
 
servidor
servidorservidor
servidor
 
15. servidor php
15. servidor php15. servidor php
15. servidor php
 
15. servidor php.
15. servidor php.15. servidor php.
15. servidor php.
 
Código php
Código phpCódigo php
Código php
 
Código php
Código phpCódigo php
Código php
 
15.- Servidor php
15.- Servidor php15.- Servidor php
15.- Servidor php
 
Servidor php
Servidor phpServidor php
Servidor php
 
Tutorial de cómo crear una pagina web
Tutorial de cómo crear una pagina webTutorial de cómo crear una pagina web
Tutorial de cómo crear una pagina web
 
15 servidor php
15 servidor php15 servidor php
15 servidor php
 
Manual completo-html-desarrolloweb-nov2014
Manual completo-html-desarrolloweb-nov2014Manual completo-html-desarrolloweb-nov2014
Manual completo-html-desarrolloweb-nov2014
 
Manual HTML.
Manual HTML.Manual HTML.
Manual HTML.
 
Servidor PHP
Servidor PHPServidor PHP
Servidor PHP
 
Servidor PHP
Servidor PHPServidor PHP
Servidor PHP
 
Servidor PHP
Servidor PHPServidor PHP
Servidor PHP
 
15. servidor php
15. servidor php15. servidor php
15. servidor php
 
Php adsi 2013 sena
Php adsi 2013 senaPhp adsi 2013 sena
Php adsi 2013 sena
 
Php curso02
Php   curso02Php   curso02
Php curso02
 
Servidor php
Servidor phpServidor php
Servidor php
 

More from Erik Gur

Perú: Estimación de la vulnerabilidad económica a la pobreza monetaria
Perú: Estimación de la vulnerabilidad económica a la pobreza monetariaPerú: Estimación de la vulnerabilidad económica a la pobreza monetaria
Perú: Estimación de la vulnerabilidad económica a la pobreza monetariaErik Gur
 
Documento de crecimiento natural de la poblacion 2014 2018 a nivel departame...
Documento de crecimiento natural de la  poblacion 2014 2018 a nivel departame...Documento de crecimiento natural de la  poblacion 2014 2018 a nivel departame...
Documento de crecimiento natural de la poblacion 2014 2018 a nivel departame...Erik Gur
 
Planos estratificados de lima metropolitana a nivel de manzanas 2020
Planos estratificados de lima metropolitana a nivel de manzanas 2020Planos estratificados de lima metropolitana a nivel de manzanas 2020
Planos estratificados de lima metropolitana a nivel de manzanas 2020Erik Gur
 
Planos Estratificados por ingreso a nivel de manzana de las Grandes Ciudades ...
Planos Estratificados por ingreso a nivel de manzana de las Grandes Ciudades ...Planos Estratificados por ingreso a nivel de manzana de las Grandes Ciudades ...
Planos Estratificados por ingreso a nivel de manzana de las Grandes Ciudades ...Erik Gur
 
Java Magazine March April 2019
Java Magazine March April 2019Java Magazine March April 2019
Java Magazine March April 2019Erik Gur
 
Oracle magazine November December 2018
Oracle magazine November December 2018Oracle magazine November December 2018
Oracle magazine November December 2018Erik Gur
 
Perú: Crecimiento y distribución de la población, 2017 - Primeros Resultados
Perú: Crecimiento y distribución de la población, 2017 - Primeros ResultadosPerú: Crecimiento y distribución de la población, 2017 - Primeros Resultados
Perú: Crecimiento y distribución de la población, 2017 - Primeros ResultadosErik Gur
 
Censos Nacionales 2017 - Primeros Resultados
Censos Nacionales 2017 - Primeros Resultados Censos Nacionales 2017 - Primeros Resultados
Censos Nacionales 2017 - Primeros Resultados Erik Gur
 
Java Magazine May June 2018
Java Magazine May June 2018Java Magazine May June 2018
Java Magazine May June 2018Erik Gur
 
Oracle Magazine May June 2018
Oracle Magazine May June 2018Oracle Magazine May June 2018
Oracle Magazine May June 2018Erik Gur
 
Oracle Magazine mar apr 2018
Oracle Magazine mar apr 2018Oracle Magazine mar apr 2018
Oracle Magazine mar apr 2018Erik Gur
 
Java Magazine
Java MagazineJava Magazine
Java MagazineErik Gur
 
Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016
Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016
Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016Erik Gur
 
Java Magazine Enterprise September /October2016
Java Magazine Enterprise September /October2016Java Magazine Enterprise September /October2016
Java Magazine Enterprise September /October2016Erik Gur
 
Java Magazine Enterprise July/August 2016
Java Magazine Enterprise  July/August 2016Java Magazine Enterprise  July/August 2016
Java Magazine Enterprise July/August 2016Erik Gur
 
Java Magazine : The JAVA Virtual Machine alternative languages
Java Magazine : The JAVA Virtual Machine alternative languagesJava Magazine : The JAVA Virtual Machine alternative languages
Java Magazine : The JAVA Virtual Machine alternative languagesErik Gur
 
JAVA tools and Technologies landscape for 2014
JAVA tools and Technologies landscape for 2014JAVA tools and Technologies landscape for 2014
JAVA tools and Technologies landscape for 2014Erik Gur
 
Oracle magazine Mayo-Junio 2014
Oracle magazine Mayo-Junio 2014Oracle magazine Mayo-Junio 2014
Oracle magazine Mayo-Junio 2014Erik Gur
 
JavaMagazine - Java SE 8 - 2014-03-04
JavaMagazine - Java SE 8 - 2014-03-04JavaMagazine - Java SE 8 - 2014-03-04
JavaMagazine - Java SE 8 - 2014-03-04Erik Gur
 
Oracle Magazine 2014 Enero-Febrero
Oracle Magazine 2014 Enero-FebreroOracle Magazine 2014 Enero-Febrero
Oracle Magazine 2014 Enero-FebreroErik Gur
 

More from Erik Gur (20)

Perú: Estimación de la vulnerabilidad económica a la pobreza monetaria
Perú: Estimación de la vulnerabilidad económica a la pobreza monetariaPerú: Estimación de la vulnerabilidad económica a la pobreza monetaria
Perú: Estimación de la vulnerabilidad económica a la pobreza monetaria
 
Documento de crecimiento natural de la poblacion 2014 2018 a nivel departame...
Documento de crecimiento natural de la  poblacion 2014 2018 a nivel departame...Documento de crecimiento natural de la  poblacion 2014 2018 a nivel departame...
Documento de crecimiento natural de la poblacion 2014 2018 a nivel departame...
 
Planos estratificados de lima metropolitana a nivel de manzanas 2020
Planos estratificados de lima metropolitana a nivel de manzanas 2020Planos estratificados de lima metropolitana a nivel de manzanas 2020
Planos estratificados de lima metropolitana a nivel de manzanas 2020
 
Planos Estratificados por ingreso a nivel de manzana de las Grandes Ciudades ...
Planos Estratificados por ingreso a nivel de manzana de las Grandes Ciudades ...Planos Estratificados por ingreso a nivel de manzana de las Grandes Ciudades ...
Planos Estratificados por ingreso a nivel de manzana de las Grandes Ciudades ...
 
Java Magazine March April 2019
Java Magazine March April 2019Java Magazine March April 2019
Java Magazine March April 2019
 
Oracle magazine November December 2018
Oracle magazine November December 2018Oracle magazine November December 2018
Oracle magazine November December 2018
 
Perú: Crecimiento y distribución de la población, 2017 - Primeros Resultados
Perú: Crecimiento y distribución de la población, 2017 - Primeros ResultadosPerú: Crecimiento y distribución de la población, 2017 - Primeros Resultados
Perú: Crecimiento y distribución de la población, 2017 - Primeros Resultados
 
Censos Nacionales 2017 - Primeros Resultados
Censos Nacionales 2017 - Primeros Resultados Censos Nacionales 2017 - Primeros Resultados
Censos Nacionales 2017 - Primeros Resultados
 
Java Magazine May June 2018
Java Magazine May June 2018Java Magazine May June 2018
Java Magazine May June 2018
 
Oracle Magazine May June 2018
Oracle Magazine May June 2018Oracle Magazine May June 2018
Oracle Magazine May June 2018
 
Oracle Magazine mar apr 2018
Oracle Magazine mar apr 2018Oracle Magazine mar apr 2018
Oracle Magazine mar apr 2018
 
Java Magazine
Java MagazineJava Magazine
Java Magazine
 
Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016
Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016
Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016
 
Java Magazine Enterprise September /October2016
Java Magazine Enterprise September /October2016Java Magazine Enterprise September /October2016
Java Magazine Enterprise September /October2016
 
Java Magazine Enterprise July/August 2016
Java Magazine Enterprise  July/August 2016Java Magazine Enterprise  July/August 2016
Java Magazine Enterprise July/August 2016
 
Java Magazine : The JAVA Virtual Machine alternative languages
Java Magazine : The JAVA Virtual Machine alternative languagesJava Magazine : The JAVA Virtual Machine alternative languages
Java Magazine : The JAVA Virtual Machine alternative languages
 
JAVA tools and Technologies landscape for 2014
JAVA tools and Technologies landscape for 2014JAVA tools and Technologies landscape for 2014
JAVA tools and Technologies landscape for 2014
 
Oracle magazine Mayo-Junio 2014
Oracle magazine Mayo-Junio 2014Oracle magazine Mayo-Junio 2014
Oracle magazine Mayo-Junio 2014
 
JavaMagazine - Java SE 8 - 2014-03-04
JavaMagazine - Java SE 8 - 2014-03-04JavaMagazine - Java SE 8 - 2014-03-04
JavaMagazine - Java SE 8 - 2014-03-04
 
Oracle Magazine 2014 Enero-Febrero
Oracle Magazine 2014 Enero-FebreroOracle Magazine 2014 Enero-Febrero
Oracle Magazine 2014 Enero-Febrero
 

Recently uploaded

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 

Recently uploaded (20)

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 

Manual de php 5.4

  • 1. Página 1PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Manual de PHP por: Mehdi Achour Friedhelm Betz Antony Dovgal Nuno Lopes Hannes Magnusson Georg Richter Damien Seguy Jakub Vrana Y muchos otros 2012-03-02 Editado por: Philip Olson por: ¿Quieres ayudarnos a traducir? ponte en contacto con: yago[arroba]php.net Traduciendo 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íguez 2.Yago Ferrer 3.Jesús Ruiz-Ayúcar Vázquez 4.Andrés García 5.Jesús Rafael Cova Huerta 6.Alexander Garzón y muchos más... © 1997-2012 the PHP Documentation Group Copyright Copyright © 1997 - 2012 por el PHP Documentation Group. Este material puede ser distribuido solamente sujeto a los términos y condiciones establecidos por la licencia de Creative Commons Attribution 3.0 o superior. Una copia de la Licencia de Commons Attribution 3.0 está distribuida con 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 alguna pregunta, por favor contacte con los propietarios del Copyright en » doc-license@lists.php.net. Observe que esta dirección está ligada a una lista de correo pública. Manual de PHP Prefacio PHP, acrónimo de "PHP: Hypertext Preprocessor", es un lenguaje "Open Source" interpretado de alto nivel, especialmente pensado para desarrollos web 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 este lenguaje 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 con PHP. Este manual contiene principalmente una referencia de funciones PHP, también contiene una referencia del lenguaje, explicaciones de algunas de las caracterí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 es desarrollado puede encontrarse en el apéndice 'Sobre este manual'. Si está interesado en la Historia de PHP, visite el capítulo correspondiente. Autores y Contribuyentes Nosotros destacamos a las personas actualmente más activas al frente del manual, pero hay muchos más contribuyentes que nos ayudan en nuestro trabajo 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. Página 2PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Nosotros destacamos a las personas actualmente más activas al frente del manual, pero hay muchos más contribuyentes que nos ayudan en nuestro trabajo 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 páginas del manual, que continuamente son incluidos en las referencias, labor de la que también estamos muy agradecidos. Todas las listas a continuación están en orden alfabético. Autores y Editores Los 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, Rick McGuire, Moacir de Oliveira Miranda Júnior, Kalle Sommer Nielsen, Yasuo Ohgaki, Richard Quadling, Derick Rethans, Rob Richards, Sander Roobol, 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 Usuarios Los 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, Szabolcs Heilig, 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. Prefacio Conceptos básicos Introducción Tabla 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 que puede 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> <?php echo "Hola, ¡soy un script PHP!"; ?>
  • 3. Página 3PHP Manual 15/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 ?> que nos 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. El servidor web puede ser incluso configurado para que procese todos los archivos HTML con PHP y entonces no hay manera que los usuarios puedan saber 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 los programadores profesionales. No sienta miedo de leer la larga lista de características de PHP, en poco tiempo podrá empezar a escribir sus primeros scripts. Aunque el desarrollo de PHP está centrado en programación de scripts en lado-servidor, se puede utilizar para muchas otras cosas. Siga leyendo y descubra 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 en programació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 contenidos diná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. El intérprete PHP (CGI módulo), un servidor web y un navegador. Es necesario hacer funcionar el servidor, con PHP instalado. El resultado del programa PHP se puede obtener a través del navegador, conectándose con el servidor web. Consultar la sección Instrucciones de instalación para 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 el intérprete PHP para usarlo de esta manera. Este tipo de uso es ideal para scripts ejecutados regularmente desde cron (en *nix o Linux) o el Planificador de tareas (en Windows). Estos scripts también pueden ser usados para tareas simples de procesamiento de texto. Consultar la secció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 si conoce bien PHP, y quisiera utilizar algunas características avanzadas en programas clientes, puede utilizar PHP-GTK para escribir dichos programas. También es posible escribir aplicaciones independientes de una plataforma. PHP-GTK es una extensión de PHP, no disponible en la 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 hoy en día, incluyendo Apache, IIS, y muchos otros. Esto incluye cualquier servidor web que pueda utilizar el binario PHP de FastCGI, como lighttpd y nginx. 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 utilizar programació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 incluso películas Flash (usando libswf y Ming) sobre la marcha. También puede presentar otros resultados, como XHTML y cualquier otro tipo de ficheros XML. PHP puede autogenerar éstos archivos y almacenarlos en el sistema de archivos en vez de presentarlos en la pantalla, creando un caché en el lado-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 con acceso habilitado a una base de datos es increiblemente simple utilizando una de las extensiones específicas (por ejemplo, para mysql), o utilizar una capa 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 de la 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 para el intercambio de datos entre lenguajes de programación en web. Y hablando de interconexión, PHP puede utilizar objetos Java de forma transparente como objetos de PHP.
  • 4. Página 4PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html el intercambio de datos entre lenguajes de programación en web. Y hablando de interconexión, PHP puede utilizar objetos Java de forma transparente como objetos de PHP. PHP tiene útiles características de procesamiento de texto, las cuales incluyen las Expresiones Regulares Compatibles de Perl (PCRE), muchas extensiones, y herramientas para el acceso y análisis de documentos XML. PHP estandardiza todas las extensiones XML sobre el fundamento sólido de 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ían estar 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 secciones Instalación de PHP y Referencia de las funciones para una explicación de las extensiones mencionadas aquí. Un tutorial sencillo Tabla de contenidos ¿Qué necesito? Su primera página con PHP Algo útil Uso de Formularios Usando 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ámicas con 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ás informació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 que normalmente 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 la mayorí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 los analizará por usted. No hay necesidad de compilar nada o instalar otras herramientas. Mírelo de esta manera, los archivos PHP son tan simples como archivos 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 de pá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 » Recursos PHP 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 por supuesto » 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 en nuestra » 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. Para encontrar paquetes para Debian quizá quiera visitar » apt-get. Su primera página con PHP Comienze 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. Página 5PHP Manual 15/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 URL será 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 la función de PHP echo(). El fichero no debe ser ejecutable o especial de ninguna forma. El servidor reconoce que este fichero debe ser interpretado por PHP 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 cual tiene 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, lo má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 titulado Instalació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 el archivo desde el sistema de archivos, entonces probablemente no estará siendo analizado por PHP. Si el problema persiste no dude en usar alguna de las 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 el inicio de la etiqueta PHP. Después indicamos la sentencia y abandonamos el modo PHP usando ?>. Puede salir de PHP y regresar cuantas veces lo desee 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ínea Los 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 puede ser muy útil si pone muchos bloques de PHP o incluye ficheros que contienen PHP que no se supone que deban mostarar nada. Al mismo tiempo, puede resultar un poco confuso. Se puede poner un espacio después de cerrar ?> para forzar el mostrar un espacio y un avance de lí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 texto Hay muchos editores de texto y Entornos Integrados de Desarrollo (IDE por sus siglas en Inglés) que puede usar para crear, editar, y organizar archivos PHP. Puede encontrar una lista parcial de éstos en » Lista de editores de PHP. Si desea recomendar un editor, por favor visite la página mencionada anteriormente, y comunique su recomendación a las personas encargadas del mantenimiento para que lo incluyan en la lista. Contar con un editor que resalte la sintaxis de PHP puede ser de mucha ayuda. Nota: acerca de los procesadores de texto Los procesadores de texto como StarOffice Writer, Microsoft word y Abiword no son buenas opciones para editar archivos de PHP. Si desea usar 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í puede escribir 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 una llamada a la función phpinfo() para obtener información acerca de su sistema y configuración como las variables predefinidas disponibles, los mó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. Página 6PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Ejemplo #2 Obtener la información del sistema desde PHP <?php phpinfo(); ?> Algo útil Hagamos ahora algo que puede ser más útil. Vamos a comprobar qué clase de navegador está utilizando el usuario. Para hacerlo, vamos a consultar la información que el navegador nos envía como parte de su petición HTTP. Esta información es guardada en una variable. Las variables siempre comienzan 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 como obsoletas, 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) <?php echo $_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 titulada Variables 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 <?php if (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, probablemente deberí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 Referencia del 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 otra cadena. En este caso anterior estamos buscando 'MSIE' (llamado aguja) dentro de $_SERVER['HTTP_USER_AGENT'] (llamado pajar). Si la cadena fue 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, la declaració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 de crear ejemplos similares usando if, else, y otras funciones como strtoupper() y strlen(). Cada página del manual contiene ejemplos que puede usar. Si no 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 y la 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. Página 7PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Ejemplo #3 Mezcla de los modos HTML y PHP <?php if (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 muy importante y potente que debemos observar aquí, y es que la fluidez lógica de la secuencia de comandos permanece intacta. Sólamente las partes donde hay bloques HTML serán enviadas al visor dependiendo del resultado que strstr() devuelva. En otras palabras, si la cadena MSIE fue encontrada o no. Uso de Formularios Otra de las características más importantes de PHP es que gestiona formularios HTML. El concepto básico que es importante entender es que cualquier elemento de los formularios estará disponible automáticamente en su código PHP. Por favor lea la sección del manual titulada Variables fuera 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 éste formulario 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 formulario Hola <?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 que son especiales en html sean codificados adecuadamente de manera que nadie pueda inyectar etiquetas HTML o Javascript en tu página web. El campo 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 establecidas automáticamente por PHP. Anteriormente hemos usado la superglobal $_SERVER y ahora estamos apunto de introducirte la superglobal $_POST que contiene 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 del formulario estarían en la superglobal $_GET. en lugar de POST. En su lugar también puedes usar la superglobal $_REQUEST, si no le importa el tipo 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 de HTML, 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 el caso, en la sección características de la documentación puede encontrarse una pequeña introducción a la manipulación de datos recibidos desde XForms. Usando código antiguo en nuevas versiones de PHP
  • 8. Página 8PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Usando código antiguo en nuevas versiones de PHP Ahora que PHP ha crecido y se ha convertido en un lenguaje popular, hay muchos más repositorios y librerias que contienen código que puede reusar. Los desarrolladores de PHP han tratado en toda medida que sea compatible con versiones anteriores, es decir, si una secuencia de comandos fue 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). Las siguientes 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 PHP 5.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, la directiva PHP register_globals está off por defecto en php.ini. El método preferido para obtener acceso a éstos valores es por medio de las variables superglobales mencionadas anteriormente. Antiguas secuencias de comandos, libros y tutoriales antiguos puede que asuman que ésta directiva 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 las conferencias 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 PHP Algo útil Uso de Formularios Usando código antiguo en nuevas versiones de PHP ¿Y ahora qué? Instalación y configuración Consideraciones generales de instalación Antes de empezar la instalación, primero necesita saber para que se quiere utilizar PHP. Existen tres campos principales donde se puede utilizar PHP tal 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 comandos Aplicaciones 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 ya dispone 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 en Windows). Posiblemente esté alquilando espacio web en una empresa. De esta forma, no se necesita instalar nada, solo tiene que escribir sus scripts PHP, subirlos al servidor que está alquiando y ver los resultados en su navegador.
  • 9. Página 9PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Windows). Posiblemente esté alquilando espacio web en una empresa. De esta forma, no se necesita instalar nada, solo tiene que escribir sus scripts PHP, 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 tipos servidores 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 no tiene un módulo de soporte para su servidor web, siempre puede usarlo como GCI o FastGCI. Esto significa configurar el servidor para usar el CGI ejecutable 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 de texto 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ás informació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 escribir pá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 como ejecutables 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 Unix Tabla de contenidos Apache 1.3.x sobre sistemas Unix Apache 2.x sobre sistemas Unix Lighttpd 1.4 en sistemas Unix Servidores Sun, iPlanet y Netscape sobre Sun Solaris CGI y configuraciones de línea de comandos Notas de instalación específicas para HP-UX Notas de instalación para OpenBSD Solaris sugerencias específicas de instalación Notas de instalación en Debian GNU/Linux Esta 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ón especí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 PHP centradas 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 Unix tienen algún tipo de sistema de instalación de paquetes. Esto puede ayudar en preparar una configuración standard, pero si se requiere tener un conjunto diferente de características (tales como un servidor seguro, o un manejador diferente de base de datos), podría ser necesario construir PHP y/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 ya ha 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 C Un servidor web Cualquier 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 superior flex: Versión 2.5.4 (para PHP <= 5.2)
  • 10. Página 10PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html flex: Versión 2.5.4 (para PHP <= 5.2) bison: Versión 1.28 (preferido), 1.35, o 1.75 El 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. Es posible obtener una lista de todas las opciones disponibles junto con una descripción corta ejecutando ./configure --help. El manual documenta las diferentes opciones por separado. Se encontrarán las opciones principales en el apéndice, mientras que las diferentes opciones específicas de las extensiones 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 se puede encontrar el porque, véase la sección de problemas. Apache 1.3.x sobre sistemas Unix Esta sección contiene notas y consejos específicos a instalaciones Apache de PHP sobre plataformas Unix. También se tienen instrucciones y notas para 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 opciones específicas a extensiones descritas en sus respectivos lugares en el manual. Los números de versión han sido omitidos aquí, para asegurar que las instrucciones 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 PHP 1. gunzip apache_xxx.tar.gz 2. tar -xvf apache_xxx.tar 3. gunzip php-xxx.tar.gz 4. tar -xvf php-xxx.tar 5. cd apache_xxx 6. ./configure --prefix=/www --enable-module=so 7. make 8. make install 9. cd ../php-xxx 10. Ahora, se configura PHP. Aquí es donde se personaliza PHP con varias opciones, como cuales extensiones se habilitarán. Realizar un ./configure --help para obtener una lista de opciones disponibles. En el ejemplo se realiza un configure simple con soporte para Apache 1 y MySQL. La ruta de acceso a apxs puede diferir del ejemplo. ./configure --with-mysql --with-apxs=/www/bin/apxs 11. make 12. make install Si se decide cambiar las opciones de configure después de la instalación, solamente se necesita repetir los últimos tres pasos. Sólo hace falta 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 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.ini Se puede editar el fichero .ini para fijar las opciones de PHP. Si se prefiere php.ini en otra ubicación, utilice --with-config-file-path=/some/path en el paso 10. Si en vez de ello se elige php.ini-production, asegurarse de leer la lista de 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 derecho de el enunciado LoadModule debe apuntar a la ruta del módulo de PHP en su sistema. El make install anterior podría haber agregado esto ya por usted, pero asegúrese de revisarlo. LoadModule php5_module libexec/libphp5.so 15. Y en la sección AddModule de httpd.conf, en algún lugar por debajo de ClearModuleList, agregar esto: AddModule mod_php5.c 16. 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. Página 11PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html hacer que Apache procese la extensión .php como PHP. Se podría hacer que cualquier extensión o extensiones sean procesadas como PHP simplemente añadiendo más, con cada una separada por un espacio. Se agregará .phtml para demostrarlo. AddType application/x-httpd-php .php .phtml Tambié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 .phps 17. Utilice el procedimiento normal para iniciar el servidor Apache. (Se debe detener y reiniciar el servidor, no sólo causar que el servidor recargue utilizando una 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 PHP 1. gunzip -c apache_1.3.x.tar.gz | tar xf - 2. cd apache_1.3.x 3. ./configure 4. cd .. 5. gunzip -c php-5.x.y.tar.gz | tar xf - 6. cd php-5.x.y 7. ./configure --with-mysql --with-apache=../apache_1.3.x 8. make 9. make install 10. cd ../apache_1.3.x 11. ./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 esta etapa. 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 si esta es la primera instalación entonces se necesita dar "make install" también) 13. cd ../php-5.x.y 14. cp php.ini-development /usr/local/lib/php.ini 15. 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 .php Dependiendo de la instalación de Apache y la variante de Unix, hay muchas maneras posibles de detener y reiniciar el servidor. Abajo hay algunas líneas típicas utilizadas para reiniciar el servidor, para diferentes instalaciones apache/unix. Se debe reemplazar /path/to/ con la trayectoria a estas aplicaciones en el sistema. Ejemplo #3 Comandos de ejemplo para reiniciar Apache 1. Diferentes variantes de Linux y SysV: /etc/rc.d/init.d/httpd restart 2. Utilizando scripts apachectl: /path/to/apachectl stop /path/to/apachectl start 3. httpdctl y httpsdctl (Utilizando OpenSSL), similar a apachectl: /path/to/httpsdctl stop /path/to/httpsdctl start 4. Usando mod_ssl, u otro servidor SSL, que se quiera detener e iniciar manualmente: /path/to/apachectl stop /path/to/apachectl startssl Las ubicaciones de los binarios apachectl y http(s)dctl varían frecuentemente. Si el sistema tiene los comandos locate o whereis o which, éstos pueden ayudar en encontrar los programas de control del servidor. Distintos ejemplos de compilaciones de PHP para apache son como sigue: ./configure --with-apxs --with-pgsql Esto creará una librería compartida libphp5.so que se carga en Apache utilizando una línea LoadModule en el fichero de Apache httpd.conf. El soporte para PostgreSQL está incluido dentro de esta librería.
  • 12. Página 12PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Esto creará una librería compartida libphp5.so que se carga en Apache utilizando una línea LoadModule en el fichero de Apache httpd.conf. El soporte para PostgreSQL está incluido dentro de esta librería. ./configure --with-apxs --with-pgsql=shared Esto 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 usando la 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-pgsql Esto 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 de Apache creará libphp5.a y lo enlazará estáticamente dentro del binario httpd. El soporte para PostgreSQL se incluye directamente dentro de este binario 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=shared Igual que en el anterior, excepto que en vez de incluir soporte para PostgreSQL directamente en el httpd final se obtiene una librería compartida pgsql.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 objeto compartido 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 de Apache 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 nobody Group "#-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 abrir ficheros. 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 de apxs que está en las fuentes de apache, si no la que en realidad está instalada en el sistema. Apache 2.x sobre sistemas Unix Esta sección contiene notas y consejos específicos a las instalaciones de Apache 2.x de PHP sobre sistemas Unix. Advertencia No 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. Para información sobre cómo, lea la correspondiente entrada de la FAQ sobre utilizar Apache2 con un MPM threaded La » 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ón acerca 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 lugares anteriormente 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 los ejemplos 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 actualmente la 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.gz tar -xf httpd-2_x_NN.tar 2. De la misma manera, obtener y desempacar las fuentes de PHP:
  • 13. Página 13PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html 2. De la misma manera, obtener y desempacar las fuentes de PHP: gunzip php-NN.tar.gz tar -xf php-NN.tar 3. 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-so make make install 4. 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 start y deténgase el servidor para proceder con la configuración para PHP: /usr/local/apache2/bin/apachectl stop 5. 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 y MySQL. 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 algunas distribuciones pueden renombrar apxs cómo apxs2. cd ../php-NN ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql make make install Si 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 make install. 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.ini cp php.ini-development /usr/local/lib/php.ini Se 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ódulo PHP 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.so 8. Indicar a Apache que procese ciertas extensiones como PHP. Por ejemplo, hágase que Apache procese ficheros .php como PHP. En vez de solamente utilizar la directiva de Apache AddType, se desea evitar subidas de ficheros potencialmente peligrosas y que ficheros creados tal como exploit.php.jpg sean ejecutados como PHP. Utilizando este ejemplo, se puede hacer que cualquier extensión o extensiones sean procesadas 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, se utilizarí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, se utiliza esto:
  • 14. Página 14PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Y para permitir que ficheros .phps sean manejados por el filtro de fuentes de php, y desplegado como código fuente con sintaxis resaltada, se utiliza 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 On RewriteRule (.*.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 otra manera sensible incluida en código fuente. 9. Utilícese el procedimiento normal para iniciar el servidor Apache, por ej.: /usr/local/apache2/bin/apachectl start O service httpd restart Siguiendo los pasos anteriores se tendrá corriendo un servidor web Apache2 con soporte para PHP como un módulo SAPI. Por supuesto existen muchas opciones más de configuración disponibles para Apache y PHP. Para más información teclee ./configure --help en el árbol de fuentes correspondiente. Apache se puede compilar con soporte multihilos seleccionando el worker MPM, en vez del prefork MPM standard, cuando Apache se compila. Esto se realiza agregando la siguiente opción al argumento pasado a ./configure, en el paso 3 anterior: --with-mpm=worker Esto no debe llevarse a cabo sin ser consciente de las consecuencias de esta decisión, y tener al menos un ligero entendimiento acerca de las implicaciones. 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 la opción Zend Thread Safety (ZTS) experimental. Bajo esta configuración, no todas las extensiones se encontrarán disponibles. La configuración recomendada es compilar Apache con el MPM-module prefork por omisión. Lighttpd 1.4 en sistemas Unix Esta 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 anteriores debe configurarse PHP con --enable-fastcgi. Para verificar que PHP tiene fastcgi habilitado, php -v debe contener PHP 5.2.5 (cgi-fcgi) En versiones anteriores a PHP 5.2.3, fastcgi estaba habilitado en el binario de php (no había php-cgi). Permitiendo que Lighttpd lance procesos de php Para configurar Lighttpd para que se conecte a php y lance procesos fastcgi, debe editar lighttpd.conf. Se recomienda utilizar sockets para conectar fastcgi a los procesos del sistema local. Ejemplo #1 Extracto de lighttpd.conf server.modules += ( "mod_fastcgi" ) fastcgi.server = ( ".php" => ((
  • 15. Página 15PHP Manual 15/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 variable de entorno PHP_FCGI_CHILDREN. La directiva "bin-environment" establece el entorno de los nuevos procesos. Cada vez que se alcance un determinado 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 los procesos 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á por PHP_FCGI_CHILDREN (2 min-procs * 16 hijos produce 32 oyentes). Lanzando procesos con spawn-fcgi Lighttpd contiene el programa spawn-fcgi que facilita lanzar procesos fastcgi. Lanzando procesos php-cgi Pese a que es más laborioso, es posible lanzar procesos sin spawn-fcgi. La variable de entorno PHP_FCGI_CHILDREN controla cuántos procesos hijo de PHP se lanzarán para manejar las peticiones entrantes. PHP_FCGI_MAX_REQUESTS determinará el tiempo de vida (en peticiones) de cada proceso 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-cgi PHP=/usr/local/bin/php-cgi # Ubicación del fichero PID PHP_PID=/tmp/php.pid # Enlazando a una dirección #FCGI_BIND_ADDRESS=10.0.1.1:10000 # Enlazando a un socket de dominio FCGI_BIND_ADDRESS=/tmp/php.sock PHP_FCGI_CHILDREN=16 PHP_FCGI_MAX_REQUESTS=10000 env -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 remotas Para poder tener aplicaciones escalables, pueden lanzarse instancias de fastcgi en múltiples equipos remotos. Ejemplo #3 Conexión a instancias de php-fastcgi remotas fastcgi.server = ( ".php" => (( "host" => "10.0.0.2", "port" => 1030 ), ( "host" => "10.0.0.3", "port" => 1030 )) ) Servidores Sun, iPlanet y Netscape sobre Sun Solaris Esta sección contiene notas y consejos específicos al servidor web Sun Java System, servidor web Sun ONE, instalaciones de servidores iPlanet y Netscape 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. Página 16PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html 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 personalizados. 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.html Para construir PHP con los servidores web Sun JSWS/Sun ONE WS/iPlanet/Netscape, introduzca el directorio de instalación apropiado para la opció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.13 automake-1.4 bison-1_25-sol26-sparc-local flex-2_5_4a-sol26-sparc-local gcc-2_95_2-sol26-sparc-local gzip-1.2.4-sol26-sparc-local m4-1_4-sol26-sparc-local make-3_76_1-sol26-sparc-local mysql-3.23.24-beta (si se desea soporte para mysql) perl-5_005_03-sol26-sparc-local tar-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.tar 5. Cambiarse al directorio de PHP ya extraído: cd ../php-x.x.x 6. Para el siguiente paso, asegurar que /opt/netscape/suitespot/ sea donde el servidor netscape está instalado. De no ser así, cambiar a la ruta de acceso correcta y ejecutar: ./configure --with-mysql=/usr/local/mysql --with-nsapi=/opt/netscape/suitespot/ --enable-libgcc 7. 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 de configuración. Instrucciones de configuración para Sun/iPlanet/Netscape Primeramente quizás sea necesario agregar algunas rutas de acceso al entorno LD_LIBRARY_PATH para que el servidor encuentre todas las librerías compartidas. Esto puede hacerse de mejor manera en el script de arranque del servidor web. El script de arranque se encuentra comúnmente localizado 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=php 2. 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 'AddLog' Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
  • 17. Página 17PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Service 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 una docroot="/ruta/a/raíz_de_documentos" específica al contexto php4_execute es llamado. Para llaves ini boleanas favor de utilizar 0/1 como valor, 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án como 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 AUTENTICACION LE ES PASADA AL SCRIPT DE PHP. Para configurar la autenticación de PHP para el servidor entero, agregar la línea siguiente al objeto por 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 muy grandes, se recomienda elevarlo con el servidor de administración (en la sección "MAGNUS EDITOR"). Ambiente CGI y modificaciones recomendadas en php.ini Importante cuando se escriben scripts de PHP, es el hecho de que Sun JSWS/Sun ONE WS/iPlanet/Netscape es un servidor web multihilos. Por ello todas las peticiones se corren en el mismo espacio de proceso (el espacio del servidor web mismo) y este espacio tiene solamente un ambiente. Si se quiere tener variables CGI como PATH_INFO, HTTP_HOST etc. la manera correcta no es intentar esto al viejo estilo de PHP con getenv() o una manera similar (registrar globales al ambiente, $_ENV). Solamente se obtendrá el ambiente del servidor web que se está ejecutando. ¡Sin ninguna variable 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 del servidor 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 el ambiente de el servidor web iniciado tiene algunas variables de CGI en él. Se puede probar esto iniciando el servidor web, no desde el servidor de administración. Utilizar la línea de comando como usuario root e iniciarlo manualmente - se verá que no hay variables de ambiente 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 se tienen 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 = On Uso 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 cada página de error que se quiera sobreescribir:
  • 18. Página 18PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Error 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 una pá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 y reemplazando 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 la página web. Esta función utiliza algunas características no documentadas de la librería NSAPI. En Unix el módulo automáticamente busca las funciones 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 comandos Por defecto, PHP se construye como un programa CLI y CGI, que puede ser utilizado para el procesamiento de CGI. Si está ejecutando un servidor web 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 permite a los usuarios ejecutar diferentes páginas con PHP bajo diferentes identificadores de usuarios. Advertencia Al usar el modo CGI, su servidor esta expuesto a diferentes ataques. Por favor, leer la sección Seguridad con CGI para aprender como defenderse de estos ataques. Pruebas Si has construido PHP como un programa CGI, puede probar su construcción escribiendo make test. Siempre es una buena idea probar su construcció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ás adelante. Utilización de variables Algunos servidores suministrando variables de entorno no se definen en las actuales » CGI/1.1 specification. Sólo las siguientes variables no se definen: 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-UX Esta 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-UX ha sido removida. Por ahora, favor de considerar la lectura de los siguientes recursos externos: » Building Apache and PHP on HP-UX 11.11 Notas de instalación para OpenBSD
  • 19. Página 19PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Notas de instalación para OpenBSD Esta sección contiene notas y consejos específicos a la instalación de PHP sobre » OpenBSD 3.6. Utilizando paquetes binarios Utilizar paquetes binarios para instalar PHP sobre OpenBSD es el método más simple y recomendado. El paquete principal ha sido separado de los distintos módulos, y cada uno puede ser instalado removido independientemente de los otros. Los ficheros que se necesitan pueden ser encontrados en 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 un vistazo 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 y desactivar 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.tgz Leer la página del manual » packages(7) para mas información sobre paquetes binarios en OpenBSD. Utilizando portes También se puede compilar PHP a partir de fuentes utilizando el » árbol de portes. Sin embargo, esto sólo se recomienda para usuarios familiarizados con OpenBSD. El porte de PHP 4 está dividido en dos subdirectorios: core y extensions. El directorio extensions genera subpaquetes para todos los mó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, para evitar compilar el módulo imap, fijar el sabor o FLAVOR a no_imap. Problemas comunes La 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 ficheros debajo 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, o utilizar un medio alternativo de almacenamiento de sesiones. Además, los sockets de base de datos necesitan colocarse dentro de la jaula o escuchar en la interfaz de localhost. Se se hace uso de funciones de red, algunos ficheros de /etc tales como /etc/resolv.conf y /etc/services tendrán que ser movidos a /var/www/etc. El paquete PEAR de OpenBSD automáticamente se instala dentro de los directorios correctos del chroot, 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 de fuentes tipográficas que requieren de X11, es mejor instalar el paquete php4-gd-4.3.8-no_x11.tgz. Ediciones antiguas Ediciones antiguas de OpenBSD utilizaban el sistema FLAVORS para compilar un PHP enlazado estáticamente. Dado que es difícil generar paquetes binarios utilizando este método, ahora es depreciado. Aún es posible utilizar los viejos árboles estables de ports si así se desea, pero carecen de soporte por parte del equipo de OpenBSD. Si se tiene algún comentario al respecto, el responsable actual del port es Anil Madhavapeddy (avsm arroba openbsd punto org). Solaris sugerencias específicas de instalación Esta sección contiene notas y sugerencias específicas para la instalación de PHP en sistemas Solaris. Software necesario
  • 20. Página 20PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Software necesario La instalacion Solaris carece con frecuencia de los compiladores de C y sus herramientas relacionadas. Lea las preguntas frecuentes para obtener información sobre porqué usar versiones GNU de algunas de estas herramientas. Para descomprimir la distribución PHP se necesita tar gzip ó bzip2 Para compilar PHP se necesita gcc (recomendado, aunque puede que sirvan otros compiladores de C) make GNU sed Para compilar extensiones adicionales o hackear el código PHP puede que se necesite también flex (versión PHP 5.2 o posterior) re2c bison m4 autoconf automake Además, usted tendrá que instalar (y posiblemente compilar) cualquier software adicional específico para la configuración, tales como Oracle o MySQL. Empleo de paquetes Se puede simplificar el procesao de intalación de Solaris mediante el uso de pkgadd para instalar la mayoría de sus componentes necesarios. El Sistema de Empaquetado de Imagen (IPS) para Solaris 11 Express contiene también la mayoría de los componentes requeridos para la instalación usando el comando pkg. Notas de instalación en Debian GNU/Linux Esta sección contiene notas y consejos específicos para instalar PHP sobre » Debian GNU/Linux. Advertencia No se ofrece soporte de builds no oficiales de terceros. Cualquier bug debe ser informado al equipo de Debian a no ser que puedan reproducirse usando 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ífica para otras opciones, tales como utilizar ya sea los comandos apt-get o aptitude. En esta página del manual estos dos comandos se pueden utilizar indistintamente. Utilizando APT Primero, nótese que otros paquetes relacionados podrían ser deseables como libapache2-mod-php5 para integración con Apache 2, y php-pear para PEAR. 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 el comando apt-get update. Ejemplo #1 Ejemplo de Instalación en Debian con Apache 2 # apt-get install php5-common libapache2-mod-php5 php5-cli APT instalará automáticamente el módulo PHP 5 para Apache 2 junto con todas sus dependencias, y luego lo activará. Apache debería reiniciarse para que los cambios tengan efecto. Por ejemplo: Ejemplo #2 Deteniendo e iniciando Apache una vez que PHP está instalado
  • 21. Página 21PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Ejemplo #2 Deteniendo e iniciando Apache una vez que PHP está instalado # /etc/init.d/apache2 stop # /etc/init.d/apache2 start Un mejor control de la configuración En la sección anterior, PHP se instaló únicamente con los módulos principales. Es muy probable que se deseen módulos adicionales, tales como MySQL, 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 mysql Los ejemplos mostrarán una gran cantidad de paquetes incluyendo varios específicos a PHP como php5-cgi, php5-cli y php5-dev. Determine cuales son 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-curl APT 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 Frecuentes Si los scripts de PHP no se están interpretando por el servidor web, entonces es probable que PHP no haya sido agregado al fichero de configuración del servidor web, que en Debian puede ser /etc/apache2/apache2.conf o algo semejante. Véase el manual de Debian para mayores 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 diferencias entre estos comandos va más allá del alcance de este manual. Instalación en Mac OS X Tabla de contenidos Empleo de paquetes Usando el paquete PHP Compilar PHP en Mac OS X Esta 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 similar a la guía de instalación Unix . Empleo de paquetes Hay 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 posible que 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 si alguien 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. Página 22PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Homebrew: » http://github.com/mxcl/homebrew Usando el paquete PHP PHP 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 cuantas lí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 del programa 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 muy recomendable tener siempre actualizado PHP a la última versión. Como casi todo el software vivo, y PHP no es una excepción, se crean nuevas versiones 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 totalmente operativa. 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 servidor web 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.conf Mediante 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 a que 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 Comandos de 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 que el 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 estas líneas se encuentran separadas, asi que tendrá que localizar ambas en el fichero): # LoadModule php5_module libexec/httpd/libphp5.so # AddModule mod_php5.c Fí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áticamente seran interpretados como PHP. <IfModule mod_php5.c> # If php is turned on, we respect .php and .phps files. AddType application/x-httpd-php .php AddType 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 pueden ser 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 usan index.php y index.html. Por defecto index.php está habilitado porque está incluido en la comprobación de PHP mostrada arriba. Ajuste a conveniencia. 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 empleando phpinfo() se puede obtener esta información. Si no se está usando php.ini, PHP usará los valores por defecto. Véase también las preguntas frecuentes 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 del servidor 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. Página 23PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Library/WebServer/Documents pero puede ser configurada en httpd.conf. Como alternativa, el DocumentRoot por defecto para usuarios individuales es /Users/yourusername/Sites 7. 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 siguiente có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.php CLI (o CGI en versiones antiguas) también es llamado de forma correcta php y posiblemente existe como /usr/bin/php. Abra el Terminal, lea la secció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 X Utilice la guía de instalación en Unix para compilar PHP en Mac OS X. Instalación en sistemas Windows Tabla de contenidos Windows Installer (PHP 5.1.0 y anteriores) Windows Installer (PHP 5.2 y posterior) Manual de Instalación Microsoft IIS Microsoft IIS 5.1 y IIS 6.0 Microsoft IIS 7.0 y posteriores Apache 1.3.x en Microsoft Windows Apache 2.x en Microsoft Windows Servidores Sun, iPlanet y Netscape en Microsoft Windows Sambar Server en Microsoft Windows Xitami en Microsoft Windows Construcción de la fuente Instalación de extensiones en Windows Linea de Comandos PHP en Microsoft Windows Esta 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 veces nos 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. Advertencia Hay 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 los paquetes oficiales de Windows de » http://www.php.net/downloads.php es la mejor opción para que el sistema este seguro y optimizado.
  • 24. Página 24PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Hay 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 los paquetes 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 de PHP 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 PECL Nota: Si bien el instalador de Windows es una manera fácil de trabajar con PHP, es restringido en muchos aspectos como, por ejemplo, la configuració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 que avanza. 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 simplemente empezar a usar PHP. Advertencia Tenga 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 el modo manual, y establecer todos los opción con cuidado. Esta configuración automática disminuiye el trabajo de instalación de PHP, pero no es destinado 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 permite configurar 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 los siguientes métodos de instalación. Instalación Normal Ejecute el instalador MSI y siga las instrucciones que le indica el asistente de instalación. En primer lugar, se le solicitará que seleccione el Servidor Web 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 cada element 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 las subcategorías del elemento seleccionado (por ejemplo, al marcar esta opción en "PDO", se instalarán todos los Drivers PDO). Advertencia Se recomienda no instalar todas las extensiones de forma predeterminada, ya que muchas de ellas tienen dependencias con bibliotecas externas a PHP. En lugar de eso, utilize el Modo de Reparación de Instalación (Installation Repair Mode) desde el panel de control de "Agregar o quitar programas". 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 algunos servidores 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. Página 25PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Instalación Silenciosa El 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 /q Puede 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:php Puede 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_mysqli La 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.exe ext_php_* - varias extensiones ( por ejemplo: ext_php_mysql para MySQL ) apache13 - módulo de Apache 1.3 apache20 - módulo de Apache 2.0 apache22 - módulo de Apache 2.2 apacheCGI - Ejecutable CGI de Apache iis4ISAPI - módulo ISAPI de IIS iis4CGI - ejecutable CGI de IIS iis4FastCGI - ejecutable CGI de IIS NSAPI - módulo de servidores Sun/iPlanet/Netscape netserve - ejecutable CGI de Servidores Web NetServe Xitami - ejecutable CGI de Xitami Sambar - módulo ISAPI del Servidor Sambar CGI - ejecutable php-cgi.exe PEAR - instalador PEAR Manual - manual de PHP en formato CHM Si desea más información sobre instalaciones MSI desde la línea de comandos, consulte » http://msdn.microsoft.com/en-us/library/aa367988.aspx Actualizando PHP con el instalador Para actualizar, debe ejecutar el instalador indistintamente desde la línea de comandos o del entorno gráfico. El instalador comprobará sus opciones de instalación actuales, eliminará la instalación antigua, y reinstalará PHP con las mismas opciones que ya tenía. Se recomienda utilizar este método para mantener PHP actualizado, en lugar de sobrescribir a mano cada fichero del directorio de instalación. Manual de Instalación Esta sección contiene instrucciones para instalar y configurar manualmente PHP en Windows de Microsoft. Para las instrucciones sobre cómo utilizar 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 PHP Descarga la distribución binaria de PHP zip » PHP para Windows: Binarios y Fuentes . Hay varias versiones diferentes del paquete zip - Seleccione por 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 VC9 requieren que tenga la » Microsoft 2008 C++ Runtime (x86) o la » Microsoft 2008 C++ Runtime (x64) instalado.
  • 26. Página 26PHP Manual 15/03/2012 05:35:41 p.m.file://localhost/D:/Jeremy1/SALVAR%20SOS/Excelentes%20Tutoriales/php_manual_es.html/php-bigxhtml.html Versiones VC9 se compilan con el compilador de Visual Studio 2008 y tiene mejoras en el rendimiento y estabilidad. Las versiones VC9 requieren que tenga la » Microsoft 2008 C++ Runtime (x86) o la » Microsoft 2008 C++ Runtime (x64) instalado. La estructura del paquete PHP y el contenido Descomprimir el contenido del archivo zip en un directorio de su elección, por ejemplo C:PHP. La estructura de directorios y archivos extraídos de del zip se verá de la siguiente manera: Ejemplo #1 PHP 5 paquete de estructura c: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 (Por ejemplo, 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.ini Despué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én es posible colocar el php.ini en cualquier otro lugar. Pero se requieren pasos adicionales de configuración como se describe en Configuración de