Professional Documents
Culture Documents
Capítulo 1. Introducción
(Corresponde al capítulo 1 y 2 del Manual de usuario PHP)
Tabla de contenidos
¿Qué es PHP?
¿Qué se puede hacer con PHP?
Corta historia de PHP
Bajándose la última versión
Instalación en sistemas UNIX
Instalación en sistemas Windows 95/98/NT
¿Problemas?
Qué es PHP?
<html>
<head>
<title>Ejemplo PHP</title>
</head>
<body>
<?php echo "Hola, este es un ejemplo con PHP!"; ?>
</body>
</html>
Podemos ver que no es lo mismo que un script CGI escrito en otro lenguaje de
programación como Perl o C -- En vez de escribir un programa con muchos comandos para crear
una salida en HTML, escribimos el código HTML con cierto código PHP embebido (introducido)
en el mismo, que producirá cierta salida (en nuestro ejemplo, producir un texto). El código PHP se
incluye entre etiquetas especiales de comienzo y final que nos permitirán entrar y salir del modo
PHP.
Lo que distingue a PHP de la tecnología Javascript, la cual se ejecuta en la má;quina cliente,
es que el código PHP es ejecutado en el servidor. Si tuviésemos un script similar al de nuestro
ejemplo en nuestro servidor, el cliente solamente recibiría el resultado de su ejecución en el
servidor, sin ninguna posibilidad de determinar que código ha producido el resultado recibido. El
servidor web puede ser incluso configurado para que procese todos los ficheros HTML con PHP.
Al nivel más básico, 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 mandar
y recibir cookies.
Quizas la característica más potente y destacable de PHP es su soporte para una gran cantidad de
bases de datos. Escribir un interfaz via web para una base de datos es una tarea simple con PHP. Las
siguientes bases de datos están soportadas actualmente:
PHP también soporta el uso de otros servicios que usen protocolos como IMAP, SNMP, NNTP,
POP3, HTTP y derivados. Tambien se pueden abrir sockets de red directos (raw sockets) e
interactuar con otros protocolos.
PHP fue concebido en otoño de 1994 por Rasmus Lerdorf. Las primeras versiones no
distribuidas al público fueron usadas en un sus páginas web para mantener un control sobre quien
consultaba su currículum. La primera versión disponible para el público a principios de 1995 fue
conocida como "Herramientas para paginas web personales" (Personal Home Page Tools).
Consistían en un analizador sintáctico muy simple que solo entendia unas cuantas macros y una
serie de utilidades comunes en las páginas web de entonces, un libro de visitas, un contador y otras
pequeñas cosas. El analizador sintáctico fue reescrito a mediados de 1995 y fue nombrado PHP/FI
version 2. FI viene de otro programa que Rasmus habia escrito y que procesaba los datos de
formularios. Asi que combinó las "Herramientas para paginas web personales", el "intérprete de
formularios", añadió soporte para mSQL y PHP/FI vio la luz. PHP/FI crecio a gran velocidad y la
gente empezó a contribuir en el código.
Es difícil dar estadísticas exactas, pero se estima que a finales de 1996 PHP/FI se estaba
usando al menos en 15.000 páginas web alrededor del mundo. A mediados de 1997 este número
había crecido a mas de 50.000. A mediados de 1997 el desarrollo del proyecto sufrio un profundo
cambio, dejó de ser un proyecto personal de Rasmus, al cual habían ayudado un grupo de usuarios y
se convirtió en un proyecto de grupo mucho más organizado. El analizador sintáctico se reescribio
desde el principio por Zeev Suraski y Andi Gutmans y este nuevo analizador estableció las bases
para PHP versión 3. Gran cantidad de codigo de PHP/FI fue portado a PHP3 y otra gran cantidad
fue escrito completamente de nuevo.
Hoy en día, tanto PHP/FI como PHP3 se distribuyen en un gran número de productos
comerciales tales como el servidor web "C2's StrongHold" y Redhat Linux. Una estimación
conservativa basada en estadísticas de NetCraft1, es que más de 1.000.000 de servidores alrededor
del mundo usan PHP. Para hacernos una idea, este número es mayor que el número de servidores
que utilizan el "Netscape's Enterprise server" en Internet.
A la vez que todo esto está pasando, el trabajo de desarrollo de la próxima generación de
PHP está en marcha. Esta versión utiliza el potente motor de scripts Zend para proporcionar altas
prestaciones, así como soporta otros servidores web, además de apache, que corren PHP como
módulo nativo.
15. cd ../php-3.0.x
16. cp php3.ini-dist /usr/local/lib/php3.ini
Configuración
Hay dos maneras de configurar el PHP.
• Utilizando el script de "setup" que viene con el PHP. Este script le hace una serie de
preguntas (casi como el script "install" del PHP/FI 2.0) y ejecuta el "configure" al final.
Para ejecutar este script, escriba ./setup.
Este script también creará un archivo llamado "do-conf", que contendrá las opciones
pasadas a la configuración. Puede editar este archivo para cambiar algunas opciones sin
tener que re-ejecutar el "setup". Escriba luego ./do-conf para ejecutar la configuración con
las nuevas opciones.
• Ejecutar el "configure" a mano. Para ver las opciones de que dispone, escriba ./configure --
help.
Los detalles sobre las distintas opciones de configuración son listados a continuación.
Módulo fhttpd
Para configurar el PHP como módulo fhttpd, responda "yes" a "Build as an fhttpd module?"
(la opción --with-fhttpd=DIR es la que lo configura) y especifique el directorio base del fuente del
fhttpd. El directorio por defecto es /usr/local/src/fhttpd. Si está ejecutando fhttpd, configurar PHP
como módulo le dará mejor rendimiento, más control y capacidad de ejecución remota.
CGI version
El valor por defecto es configurar el PHP como programa CGI. Si está ejecutando un
servidor web para el que el PHP tiene soporte como módulo, debería elegir dicha solución por
motivos de rendimiento. Sin embargo, la versión CGI permite a los usuarios del Apache el ejecutar
distintas páginas con PHP bajo distintos identificadores de usuario.
Windows NT e IIS 4
Para instalar el PHP en un NT Server con IIS 4, siga estas instrucciones:
• En el Controlador de Servicios de Internet (MMC), elija el sitio Web o el directorio de
comienzo de una aplicación.
• Abra las propiedades del directorio (haciendo click derecho y eligiendo propiedades) y
luego pulse sobre la pestaña Carpeta Inicial, Directorio Virtual o Directorio.
• Pulse el botón Configuración y luego pulse sobre la pestaña Mapas de Aplicación.
• Pulse en Añadir, y en la caja Programa, escriba: c:\path-to-php-dir\php.exe %s %s. DEBE
mantene los %s %s al final, pues el PHP no funcionará correctamente si se equivoca al
hacerlo.
• En la caja Extensión, escriba la extensión de fichero que desea asociar a los script de PHP.
Debe repetir los pasos 5 y 6 para cada extensión que desee asociar con los scripts PHP
( .php3 y .phtml son habituales).
• Ajuste la seguridad apropiada (esto se realiza en el Controlador de Servicio de Internet
(ISM)), y si su NT Server usa el sistema de archivos NTFS, añada derechos de ejecución
para I_USR_ al directorio que contenga el php.exe.
Tabla de contenidos
Todas las páginas web están hechas con HTML, por mas complicados que nos parezcan sus diseños
El que todas las páginas web utilizen HTML tiene muchas ventajas (como por ejemplo, con
ello nos aseguramos que puedan ser vistas en cualquier navegador, bajo cualquier plataforma).
A pesar de todo esto, HTML no es muy potente, ¿por qué?, porque no permite la
modificación dinámica de su contenido, dicho en otras palabras, el programador HTML no puede
hacer que el contenido de su página web se modifique automáticamente en respuesta a alguna
petición. Esto es una limitación muy grande, que no permitiría el comercio electrónico, ni los
motores de búsqueda, ni una mejor interacción con el usuario. Aquí es donde entra PHP.
Por lo que el código PHP es insertado en el código HTML, se hace necesario revisar HTML
(aunque aquí se hará de una forma muy ligera).
LOS TAGS:
Los tags (o etiquetas en español) se encierran entre los caracteres menor (“<”) para iniciar y
mayor (“>”) para cerrar, Entre los tags se incorpora todo el código HTML. Todo tag debe ser
abierto para luego explicitamente ser cerrado (o inverso).
Un ejemplo:
<BODY> o <HTML>
Toda página web inicia y termina con un tag especial, llamado tag HTML, que le indica al
navegador que todo lo que siga hasta el tag inverso o tag cerrado, se considerado código HTML.
Veamos un ejemplo:
<HTML>
<BODY>
Esta es mi primera pagina web
</BODY>
</HTML
La primera línea abre el tag HTML e indica que todo lo que vendrá después será código HTML.
La segunda linea abre el tag BODY, que indica que todo el codigo siguiente se incluirá en el cuerpo
de la página web. La tercera linea es el mensaje propiamente dicho, ello mostrará el mensaje “Esta
es mi primera pagina web”. La cuarta y quinta línea se encargan de cerrar los tags.
Sintaxis de PHP
El codigo de PHP, como hemos visto anteriormente con HTML, va incluido de la misma
forma, es decir entre dos tags (especiales). Estos tags pueden ser de tres estilos.
<?php ?>
Si tu usas este estilo de tags, tu puedes estar seguro que tus tags siempre serán
correctamente interpretados, almenos que tengas una buena razón para preferir uno de los
otros estilos, es mejor que uses este.
Si vas a escribir código XML en PHP, tu DEBES de escoger este tipo de tag. La razón es
que XML utiliza el tag de estilo corto para sus propios propósitos.
<? ?>
Estos son, como uno podría esperar, la más corta opción, aquellos que modifican muchas
páginas web tienen preferencia por los tags más cortos. Sin embargo, el precio que hay que
pagar por usar estos tags puede ser muy alto. No es una opción muy recomendable.
Como su nombre lo indica, este tag es similar al empleado por el de Microsoft Active
Server Pages, que es así:
<% %>
La gente que prefiere utilizar Microsoft Frontpage frecuentemente escoge este tipo de tag.
Para usar este tipo de tag, hay que activar un opcion en el archivo php.ini. Obviamente, si tu
usas los tags tipo ASP y la extensión .asp (que te podría suceder si estas migrando un sitio
hecho en asp).Tu necesitarás desactivar dicha opción en tu servidor IIS.
4. Tags estilo HTML
Esto es:
Aunque este método solo es efectivo si tienes problemas con los tags en FrontPage, puede
ser útil en otras situaciones. Como en rápidos reemplazos de variable. En particular ten
mucho cuidado si tu usas mucho código en JavaScript (del cual este metodo es muy similar)
y puede provocar ambigüedad. El tag estilo HTML es preferentemente usado en bloques de
código PHP no muy grandes.
Mi primera aplicación
Ahora si estamos listos para escribir nuestra primera aplicación PHP. Abre un nuevo archivo
en tu editor de texto preferido y escribe:
<HTML>
<HEAD>
<TITLE>Mi primera aplicación PHP</TITLE>
</HEAD>
<BODY>
<?php echo “Hola mundo cruel!”; ?>
</BODY>
</HTML>
La línea con negrita es el código PHP propiamente dicho, que lo único que hace es mostrar
un mensaje que dice “Hola mundo cruel!”.
Así que la salida en el navegador se vería así:
Siendo visualizado solo dicho mensaje, quedado los detalles de presentación como fuente y
fondo, a cargo de los valores por defecto del navegador.
Ahora, veamos el código HTML que se vería en el navegador:
Ejemplo 2-3: Código HTML de firstapp.php visto desde el navegador:
<HTML>
<BODY>
Hola mundo cruel!</BODY>
</HTML>
Dónde están nuestras etiquetas ‘<?php .. ?> ‘? Lo que sucedió fue que el servidor
interpretó el código que se encontraba entre ellas, en la cual había un solo comando que le indicaba
imprimir un mensaje. Como se ve, esto es HTML puro que puede ser leído por cualquier navegador
(a diferencia de JavaScript o VBScript). Aquí radica una de las razones de porqué usar PHP.
El ejemplo anterior que fue muy sencillo, permitió entender mejor a php y sus
posibilidades. Ahora veremos un ejemplo más facil, que hará que PHP nos muestre información
sobre el sistema y sobre el servidor con PHP mismo. Esto lo hacemos con la función phpinfo().
<HTML>
<HEAD>
<TITLE>Informacion sobre el sistema PHP</TITLE>
</HEAD>
<BODY>
<?php phpinfo();?>
</BODY>
</HTML>
La cual nos mostrará detallada información sobre el sistema en el cual se ejecuta PHP. Información
que puede resultarnos muchas veces útil para diagnosticar fallas y dar con las soluciones.
Algunos detalles que nos puede dar son la versión de PHP compilada que estamos
utilizando, host utilizado para la compilación, opciones de compilación, API del programa, lista de
librerías disponible y muchas otras.