desarrollando con php en windows

52
| Desarrollo con PHP en Windows Desarrollo con PHP en Windows Antonio Ognio Cesti Antonio Ognio Cesti [email protected] [email protected]

Upload: antonio-ognio

Post on 27-Jun-2015

1.649 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Desarrollando con PHP en Windows

|

Desarrollo con PHP en WindowsDesarrollo con PHP en Windows

Antonio Ognio CestiAntonio Ognio [email protected]@linux.org.pe

Page 2: Desarrollando con PHP en Windows

Desarrollo con PHP en WindowsDesarrollo con PHP en Windows

...desplegando en Linux...desplegando en Linux

Page 3: Desarrollando con PHP en Windows
Page 4: Desarrollando con PHP en Windows

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

Page 5: Desarrollando con PHP en Windows

Introducción a PHPIntroducción a PHP

Page 6: Desarrollando con PHP en Windows

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

Page 7: Desarrollando con PHP en Windows

¿Quién está detrás de PHP?

Rasmus Lerdorf Zeev Suraski Andi Gutmans

Page 8: Desarrollando con PHP en Windows

Rasmus Lerdorf

Creador original

●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!● Consultor en tecnologías de PHP

Page 9: Desarrollando con PHP en Windows

Zeev Suraski Andi Gutmans+

Page 10: Desarrollando con PHP en Windows

● 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

Zend Technologies

Page 11: Desarrollando con PHP en Windows

● Zend Server● Zend Platform● Zend Studio● Zend Guard● Zend Framework● Zend Certification

Productos de Zend Technologies

Page 12: Desarrollando con PHP en Windows

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

Page 13: Desarrollando con PHP en Windows

AplicacionesAplicaciones

Page 14: Desarrollando con PHP en Windows
Page 15: Desarrollando con PHP en Windows
Page 16: Desarrollando con PHP en Windows
Page 17: Desarrollando con PHP en Windows
Page 18: Desarrollando con PHP en Windows
Page 19: Desarrollando con PHP en Windows
Page 20: Desarrollando con PHP en Windows

Sitios web famososSitios web famosos

Page 21: Desarrollando con PHP en Windows
Page 22: Desarrollando con PHP en Windows
Page 23: Desarrollando con PHP en Windows
Page 24: Desarrollando con PHP en Windows
Page 25: Desarrollando con PHP en Windows
Page 26: Desarrollando con PHP en Windows
Page 27: Desarrollando con PHP en Windows
Page 28: Desarrollando con PHP en Windows
Page 29: Desarrollando con PHP en Windows
Page 30: Desarrollando con PHP en Windows

Lenguaje y plataformaLenguaje y plataforma

Page 31: Desarrollando con PHP en Windows

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)

Page 32: Desarrollando con PHP en Windows

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.

Page 33: Desarrollando con PHP en Windows

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

Page 34: Desarrollando con PHP en Windows

Arquitectura de PHP

Page 35: Desarrollando con PHP en Windows

Extensiones (en Windows)

extension=php_bz2.dll;extension=php_curl.dll;extension=php_dba.dll;extension=php_dblib.dllextension=php_mbstring.dllextension=php_exif.dllextension=php_fileinfo.dllextension=php_gd2.dllextension=php_gettext.dll;extension=php_gmp.dllextension=php_imap.dll

Page 36: Desarrollando con PHP en Windows

PHP sobre WindowsPHP sobre Windows

Page 37: Desarrollando con PHP en Windows

PHP en Windows

● PHP bajo Internet Information Server ● PHP bajo Apache● PHP bajo otros servidores

Page 38: Desarrollando con PHP en Windows

PHP sobre IIS

CGICGICGI

Ejecuta un proceso php.exe para cada solicitud.

Ventajas● Bastante estable

Desventajas● Lentitud debido a E/S y la creación de procesos

CGICGIISAPI

PHP cargado como unaextensión en el espaciode memoria de IIS.

Ventajas● Mejor rendimiento

Desventajas● Poco estable● Varias extensiones PECL no son thread-safe

FastCGI

Caching de procesosy pooling.

Ventajas● Mejor rendimiento que CGI● Más estable que ISAPI● Puede ejecutar extensiones PECL en un ambiente thread-safe

Page 39: Desarrollando con PHP en Windows

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

Page 40: Desarrollando con PHP en Windows

Ambiente de desarrolloAmbiente de desarrollo

Page 41: Desarrollando con PHP en Windows

Ambiente de pruebasAmbiente de pruebas(pre-producción)(pre-producción)

Page 42: Desarrollando con PHP en Windows

Ambiente de producciónAmbiente de producción

Page 43: Desarrollando con PHP en Windows

Alternativas a ApacheAlternativas a Apache

Page 44: Desarrollando con PHP en Windows

PHP en Windows

● PHP bajo Internet Information Server ● PHP bajo Apache● PHP bajo otros servidores

Page 45: Desarrollando con PHP en Windows

TendenciasTendencias

Page 46: Desarrollando con PHP en Windows

ConclusionesConclusiones

Page 47: Desarrollando con PHP en Windows

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

Page 48: Desarrollando con PHP en Windows

GraciasGracias

Page 49: Desarrollando con PHP en Windows

¿Desea aprender más¿Desea aprender mássobre Linux?sobre Linux?

Page 50: Desarrollando con PHP en Windows

http://www.linux.org.pehttp://www.linux.org.pe

Page 51: Desarrollando con PHP en Windows

Busca un LUG cerca deBusca un LUG cerca deti en tu ciudadti en tu ciudad

Page 52: Desarrollando con PHP en Windows

|

Desarrollo con PHP en WindowsDesarrollo con PHP en Windows

Antonio Ognio CestiAntonio Ognio [email protected]@linux.org.pe