4. Contenido de esta sesión
● Introducción a PHP
● PHP como lenguaje y plataforma
● Soporte para PHP sobre Windows
● Ambiente de desarrollo en Windows
● Ambiente de pruebas en Linux (virtualización)
● Ambiente de producción en Linux
● Alternativas a Apache
● Tendencias en el desarrollo con PHP
6. Introducción a PHP
● Lenguaje de scripting creado para la web
● Iniciado en 1995 por Rasmus Lerdorf
● Extremadamente popular en la web
● Disponible en todas las plataformas
● Código abierto (PHP License)
● Muchas aplicaciones de libre disponibilidad
● Muchos sitios web lo utilizan
● Muy solicitado para desarrollos a medida
8. Rasmus Lerdorf
●Programador danés / islandés / canadiense
● En 1994 crea scripts en Perl (PHP 1.0)
● PHP = Personal Home Page
● Scripts para mantener su página personal
● En 1995 escribe un parser simple en C
● Agrega un procesador de formularios
● Lanza PHP/FI (PHP 2.0)
● FI = Form Interpreter
● Marca el estilo de lo que será luego PHP:
● Sintaxis inspirada en Perl y C
● Procesamiento de formularios web
● Biblioteca de conexión a base de datos
● Fundador de “PHP Group”
● Hasta hace poco empleado de Yahoo!
Creador original
● Consultor en tecnologías de PHP
10. Zend Technologies
● Desarrolladores de Israel (Technion ITT)
● Rescribieron el parser del lenguage
● Dieron origen a PHP 3
● Crearon el motor Zend, el núcleo de lenguaje
● PHP 4 utiliza el Zend Engine 1.0 (Mayo 2000)
● PHP 5 utiliza el Zend Engine II (Julio 2004)
● Siguen a cargo de PHP de cara a PHP 6
● Con Zend lanzaron muchos productos PHP
11. Productos de Zend Technologies
● Zend Server
● Zend Platform
● Zend Studio
● Zend Guard
● Zend Framework
● Zend Certification
12. PHP Group
● Equipo central de desarrolladores de PHP
● Fundando por Rasmus Lerdorf y Zend
● Formado por gente de múltiples empresas
● Lideran el proyecto opensource
● Dan forma al lenguaje y al producto
● Publican oficialmente cada nueva versión
● Definen las APIs
● En C, para crear extensiones
● Las propias funciones de PHP
● Administran el sitio web oficial
● Publican las actualizaciones de seguridad
● Responsables del futuro de PHP
http://www.php.net
31. PHP como lenguaje
● Sintaxis estilo C (similar a Java, C# o Javascript)
● Todas los identificadores de variables
empiezan con dolar $
● Tipado dinámico y conversiones automáticas
● Soporte para OOP estilo Java (más simple)
● Namespaces y closures (recién en PHP 5.3)
32. PHP como plataforma
● Entorno de ejecución de scripts
● Disponible para múltiples plataformas
● Configurable a través de php.ini
● Un script que corre sin problemas en un sitio
● podría no hacerlo en otro, se debe ajustar
la configuración según se requiera.
33. Directivas más comunes de php.ini
display_errors = On
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
memory_limit = 128M
upload_max_filesize = 128M
SMTP = localhost
smtp_port = 25
37. PHP en Windows
● PHP bajo Internet Information Server
● PHP bajo Apache
● PHP bajo otros servidores
38. PHP sobre IIS
CGI ISAPI FastCGI
CGI
CGI CGI
CGI
Ejecuta un proceso PHP cargado como una Caching de procesos
php.exe para cada extensión en el espacio y pooling.
solicitud. de memoria de IIS.
Ventajas Ventajas Ventajas
● Bastante estable ● Mejor rendimiento ● Mejor rendimiento
que CGI
● Más estable que
Desventajas Desventajas
ISAPI
● Lentitud debido a E/S y ● Poco estable
● Puede ejecutar
● Varias extensiones
la creación de procesos extensiones PECL
PECL no son
en un ambiente
thread-safe
thread-safe
39. Zend y Microsoft colaboran
Al inicio
● Soporte inferior al de UNIX
● Problemas de estabilidad y rendimiento
2006
● Zend y Microsoft anuncian colaboración
2007
● Optimización de binarios para Windows
2008
● IIS6 y 7 con soporte para PHP con FastCGI
47. Conclusiones
● Solución multiplataforma y muy popular
● Lenguaje sencillo y completo
● Fácil de configurar en Windows
● Fácil de configurar en Linux
● Pruebas en entornos de virtualización
● Producción en entornos en la nube