SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
Desarrollo con PHP en Windows

              |




                    Antonio Ognio Cesti
                  antonio@linux.org.pe
Desarrollo con PHP en Windows




   ...desplegando en Linux
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
Introducción a PHP
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
¿Quién está detrás de PHP?




Rasmus Lerdorf       Zeev Suraski   Andi Gutmans
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
Zeev Suraski   +   Andi Gutmans
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
Productos de Zend Technologies
 ● Zend Server
 ● Zend Platform

 ● Zend Studio

 ● Zend Guard

 ● Zend Framework

 ● Zend Certification
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
Aplicaciones
Sitios web famosos
Lenguaje y plataforma
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)
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.
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
Arquitectura de PHP
Extensiones (en Windows)


extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dblib.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
extension=php_imap.dll
PHP sobre Windows
PHP en Windows


● PHP bajo Internet Information Server
● PHP bajo Apache

● PHP bajo otros servidores
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
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
Ambiente de desarrollo
Ambiente de pruebas
 (pre-producción)
Ambiente de producción
Alternativas a Apache
PHP en Windows


● PHP bajo Internet Information Server
● PHP bajo Apache

● PHP bajo otros servidores
Tendencias
Conclusiones
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
Gracias
¿Desea aprender más
    sobre Linux?
http://www.linux.org.pe
Busca un LUG cerca de
   ti en tu ciudad
Desarrollo con PHP en Windows

              |




                    Antonio Ognio Cesti
                  antonio@linux.org.pe

Weitere ähnliche Inhalte

Was ist angesagt?

Quita, que tú no sabes; ya lo hago yo. Generación e inyección de código en ti...
Quita, que tú no sabes; ya lo hago yo. Generación e inyección de código en ti...Quita, que tú no sabes; ya lo hago yo. Generación e inyección de código en ti...
Quita, que tú no sabes; ya lo hago yo. Generación e inyección de código en ti...Alberto Sanz Herrero
 
¨Servermore or serverless.¨: Introducción a CI/CD desde dos filosofías de inf...
¨Servermore or serverless.¨: Introducción a CI/CD desde dos filosofías de inf...¨Servermore or serverless.¨: Introducción a CI/CD desde dos filosofías de inf...
¨Servermore or serverless.¨: Introducción a CI/CD desde dos filosofías de inf...Marco Bellido
 
PHP for Android: scripting PHP en Android
PHP for Android: scripting PHP en AndroidPHP for Android: scripting PHP en Android
PHP for Android: scripting PHP en AndroidIrontec
 
JavaScript_cómo funciona este lenguaje de programación
JavaScript_cómo funciona este lenguaje de programaciónJavaScript_cómo funciona este lenguaje de programación
JavaScript_cómo funciona este lenguaje de programaciónCLEFormación
 
Swift migration. the true history
Swift migration. the true historySwift migration. the true history
Swift migration. the true historyidealistacreamcode
 
Biicode en la Hackers Week
Biicode en la  Hackers WeekBiicode en la  Hackers Week
Biicode en la Hackers WeekJulia S. Simon
 
Estrategias branching: trabajando con git y personas
 Estrategias branching: trabajando con git y personas Estrategias branching: trabajando con git y personas
Estrategias branching: trabajando con git y personasJesús López de la Cruz
 
lección 02- creación de Virtual Host laravel 5 + Xampp + Windows
lección 02- creación de Virtual Host laravel 5 + Xampp + Windowslección 02- creación de Virtual Host laravel 5 + Xampp + Windows
lección 02- creación de Virtual Host laravel 5 + Xampp + WindowsJairo Hoyos
 
PHP Con symfony
PHP Con symfonyPHP Con symfony
PHP Con symfonycsalazart
 
BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012Asier Marqués
 
Java script tarea
Java script tareaJava script tarea
Java script tareasaullopes24
 
Si sólo ves un webphone no entiendes WebRTC
Si sólo ves un webphone no entiendes WebRTCSi sólo ves un webphone no entiendes WebRTC
Si sólo ves un webphone no entiendes WebRTCPaloSanto Solutions
 
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?Antonio Ognio
 
01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )Jairo Hoyos
 
Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1Yaismel Miranda
 
SecDevOps - La seguridad en el desarrollo
SecDevOps - La seguridad en el desarrolloSecDevOps - La seguridad en el desarrollo
SecDevOps - La seguridad en el desarrolloGlobe Testing
 

Was ist angesagt? (20)

Quita, que tú no sabes; ya lo hago yo. Generación e inyección de código en ti...
Quita, que tú no sabes; ya lo hago yo. Generación e inyección de código en ti...Quita, que tú no sabes; ya lo hago yo. Generación e inyección de código en ti...
Quita, que tú no sabes; ya lo hago yo. Generación e inyección de código en ti...
 
¨Servermore or serverless.¨: Introducción a CI/CD desde dos filosofías de inf...
¨Servermore or serverless.¨: Introducción a CI/CD desde dos filosofías de inf...¨Servermore or serverless.¨: Introducción a CI/CD desde dos filosofías de inf...
¨Servermore or serverless.¨: Introducción a CI/CD desde dos filosofías de inf...
 
PHP for Android: scripting PHP en Android
PHP for Android: scripting PHP en AndroidPHP for Android: scripting PHP en Android
PHP for Android: scripting PHP en Android
 
Cómo contribuir en Proyectos de Código Abierto
Cómo contribuir en Proyectos de Código AbiertoCómo contribuir en Proyectos de Código Abierto
Cómo contribuir en Proyectos de Código Abierto
 
JavaScript_cómo funciona este lenguaje de programación
JavaScript_cómo funciona este lenguaje de programaciónJavaScript_cómo funciona este lenguaje de programación
JavaScript_cómo funciona este lenguaje de programación
 
Swift migration. the true history
Swift migration. the true historySwift migration. the true history
Swift migration. the true history
 
Biicode en la Hackers Week
Biicode en la  Hackers WeekBiicode en la  Hackers Week
Biicode en la Hackers Week
 
Estrategias branching: trabajando con git y personas
 Estrategias branching: trabajando con git y personas Estrategias branching: trabajando con git y personas
Estrategias branching: trabajando con git y personas
 
lección 02- creación de Virtual Host laravel 5 + Xampp + Windows
lección 02- creación de Virtual Host laravel 5 + Xampp + Windowslección 02- creación de Virtual Host laravel 5 + Xampp + Windows
lección 02- creación de Virtual Host laravel 5 + Xampp + Windows
 
PHP Con symfony
PHP Con symfonyPHP Con symfony
PHP Con symfony
 
.NET Core
.NET Core.NET Core
.NET Core
 
SIPML5toElastix
SIPML5toElastixSIPML5toElastix
SIPML5toElastix
 
BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012
 
Java script tarea
Java script tareaJava script tarea
Java script tarea
 
Si sólo ves un webphone no entiendes WebRTC
Si sólo ves un webphone no entiendes WebRTCSi sólo ves un webphone no entiendes WebRTC
Si sólo ves un webphone no entiendes WebRTC
 
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
 
01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )
 
Go
GoGo
Go
 
Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1
 
SecDevOps - La seguridad en el desarrollo
SecDevOps - La seguridad en el desarrolloSecDevOps - La seguridad en el desarrollo
SecDevOps - La seguridad en el desarrollo
 

Ähnlich wie Desarrollando con PHP en Windows

Generalidades de Php
Generalidades de PhpGeneralidades de Php
Generalidades de Phpdenis2801
 
Php adsi 2013 sena
Php adsi 2013 senaPhp adsi 2013 sena
Php adsi 2013 senayexikita1
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programaciónzanahoria2015
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programaciónzanahoria2015
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programaciónzanahoria2015
 
Webinar - Radiografía actual del lenguaje PHP
Webinar - Radiografía actual del lenguaje PHPWebinar - Radiografía actual del lenguaje PHP
Webinar - Radiografía actual del lenguaje PHPArsys
 
Desarrollo tecnologias software_libre_open_source
Desarrollo tecnologias software_libre_open_sourceDesarrollo tecnologias software_libre_open_source
Desarrollo tecnologias software_libre_open_sourceMario IC
 
2.3 Lenguajes De Programación Del Lado Servidor.pptx
2.3 Lenguajes De Programación Del Lado Servidor.pptx2.3 Lenguajes De Programación Del Lado Servidor.pptx
2.3 Lenguajes De Programación Del Lado Servidor.pptxJulinAguirre8
 
PHP para todos con Visual Studio Code Modulo 1
 PHP para todos con Visual Studio Code Modulo 1  PHP para todos con Visual Studio Code Modulo 1
PHP para todos con Visual Studio Code Modulo 1 Maleny Abrego
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyJorge Antonio Linares Vera
 
Diapositivas software libre
Diapositivas software libreDiapositivas software libre
Diapositivas software libreAlex Benavides
 

Ähnlich wie Desarrollando con PHP en Windows (20)

Una gota de elixir 2017
Una gota de elixir   2017Una gota de elixir   2017
Una gota de elixir 2017
 
CodeIgniter
CodeIgniterCodeIgniter
CodeIgniter
 
Generalidades de Php
Generalidades de PhpGeneralidades de Php
Generalidades de Php
 
Php adsi 2013 sena
Php adsi 2013 senaPhp adsi 2013 sena
Php adsi 2013 sena
 
Servidor PHP
Servidor PHPServidor PHP
Servidor PHP
 
15 servidor php
15 servidor php15 servidor php
15 servidor php
 
Introducción a php
Introducción a phpIntroducción a php
Introducción a php
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programación
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programación
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programación
 
Webinar - Radiografía actual del lenguaje PHP
Webinar - Radiografía actual del lenguaje PHPWebinar - Radiografía actual del lenguaje PHP
Webinar - Radiografía actual del lenguaje PHP
 
Desarrollo tecnologias software_libre_open_source
Desarrollo tecnologias software_libre_open_sourceDesarrollo tecnologias software_libre_open_source
Desarrollo tecnologias software_libre_open_source
 
2.3 Lenguajes De Programación Del Lado Servidor.pptx
2.3 Lenguajes De Programación Del Lado Servidor.pptx2.3 Lenguajes De Programación Del Lado Servidor.pptx
2.3 Lenguajes De Programación Del Lado Servidor.pptx
 
Php tema 4
Php tema 4Php tema 4
Php tema 4
 
PHP para todos con Visual Studio Code Modulo 1
 PHP para todos con Visual Studio Code Modulo 1  PHP para todos con Visual Studio Code Modulo 1
PHP para todos con Visual Studio Code Modulo 1
 
Servidor php
Servidor phpServidor php
Servidor php
 
Php apesteguia
Php apesteguiaPhp apesteguia
Php apesteguia
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Diapositivas software libre
Diapositivas software libreDiapositivas software libre
Diapositivas software libre
 
Historia de PHP
Historia de PHPHistoria de PHP
Historia de PHP
 

Mehr von Antonio Ognio

Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...Antonio Ognio
 
Organizando una Hackparty
Organizando una HackpartyOrganizando una Hackparty
Organizando una HackpartyAntonio Ognio
 
Redis: servidor de estructuras de datos
Redis: servidor de estructuras de datosRedis: servidor de estructuras de datos
Redis: servidor de estructuras de datosAntonio Ognio
 
Lenguajes y frameworks para desarrollo web
Lenguajes y frameworks para desarrollo webLenguajes y frameworks para desarrollo web
Lenguajes y frameworks para desarrollo webAntonio Ognio
 
Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Antonio Ognio
 
Gestor de paquetes YUM
Gestor de paquetes YUMGestor de paquetes YUM
Gestor de paquetes YUMAntonio Ognio
 
Mejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - HardeningMejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - HardeningAntonio Ognio
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de gitAntonio Ognio
 
¿Porqué Python? ...y Django
¿Porqué Python? ...y Django¿Porqué Python? ...y Django
¿Porqué Python? ...y DjangoAntonio Ognio
 
Ubuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty JackalopeUbuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty JackalopeAntonio Ognio
 
Consejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
Consejos y trucos de supervivencia para nuevos usuarios de GNU/LinuxConsejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
Consejos y trucos de supervivencia para nuevos usuarios de GNU/LinuxAntonio Ognio
 

Mehr von Antonio Ognio (15)

Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
 
Organizando una Hackparty
Organizando una HackpartyOrganizando una Hackparty
Organizando una Hackparty
 
Lean Startups
Lean StartupsLean Startups
Lean Startups
 
Redis: servidor de estructuras de datos
Redis: servidor de estructuras de datosRedis: servidor de estructuras de datos
Redis: servidor de estructuras de datos
 
Lenguajes y frameworks para desarrollo web
Lenguajes y frameworks para desarrollo webLenguajes y frameworks para desarrollo web
Lenguajes y frameworks para desarrollo web
 
Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010
 
Gestor de paquetes YUM
Gestor de paquetes YUMGestor de paquetes YUM
Gestor de paquetes YUM
 
Twixer (english)
Twixer (english)Twixer (english)
Twixer (english)
 
Twixer
TwixerTwixer
Twixer
 
Mejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - HardeningMejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - Hardening
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de git
 
¿Porqué Python? ...y Django
¿Porqué Python? ...y Django¿Porqué Python? ...y Django
¿Porqué Python? ...y Django
 
Ubuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty JackalopeUbuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty Jackalope
 
Consejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
Consejos y trucos de supervivencia para nuevos usuarios de GNU/LinuxConsejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
Consejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
 
REPLs
REPLsREPLs
REPLs
 

Kürzlich hochgeladen

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
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
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
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
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
 
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
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 

Kürzlich hochgeladen (20)

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
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
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
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
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
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 

Desarrollando con PHP en Windows

  • 1. Desarrollo con PHP en Windows | Antonio Ognio Cesti antonio@linux.org.pe
  • 2. Desarrollo con PHP en Windows ...desplegando en Linux
  • 3.
  • 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
  • 7. ¿Quién está detrás de PHP? Rasmus Lerdorf Zeev Suraski Andi Gutmans
  • 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
  • 9. Zeev Suraski + Andi Gutmans
  • 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
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 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
  • 41. Ambiente de pruebas (pre-producción)
  • 44. PHP en Windows ● PHP bajo Internet Information Server ● PHP bajo Apache ● PHP bajo otros servidores
  • 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
  • 49. ¿Desea aprender más sobre Linux?
  • 51. Busca un LUG cerca de ti en tu ciudad
  • 52. Desarrollo con PHP en Windows | Antonio Ognio Cesti antonio@linux.org.pe