2008-10-22 17 views
15

Después de convertirme en fuente abierta un tanto distanciada, y pasar algunos años desarrollando aplicaciones web en ASP.Net, voy a comenzar a hacer bastante desarrollo de PHP/MySQL.¿Es tonto desarrollar LAMP en WAMP?

He instalado sin problemas WampServer para tener un entorno de desarrollo funcionando en mi máquina con Windows, pero la plataforma a la que me dirigiré probablemente sea Linux. Entonces mi pregunta es, ¿es probable que tenga problemas debido al desarrollo en Windows mientras apunto a Linux? ¿Es aconsejable invertir para obtener una configuración de entorno Linux en la que desarrollar mis aplicaciones LAMP?

+0

Bueno, el dispositivo VirtualBox + TurnKey LAMP es de configuración trivial. –

Respuesta

15

Si pudiera, invertiría en algún tipo de entorno de desarrollo Linux, o al menos * nix. Para las aplicaciones simples y el sitio web, su configuración está bien, pero eventualmente encontrará diferencias sutiles cuando implemente.

Aquí hay algunas cosas fuera de lo que querrás tener en cuenta si te quedas con tu entorno Windows.

  1. Rutas del archivo. Muchas funciones PHP toman rutas de archivos como argumentos. NO use el separador backslash() de Windows. Aunque esté en Windows, PHP le permitirá usar un separador de barra inclinada. Lo ideal es abstraer esto con su propia clase de ruta de archivo.

  2. Apache Modules, PECL Extensions. Apache Windows y Apache Unix a menudo vienen con un conjunto diferente de módulos Apace instalados por defecto. Además, la misma versión de un módulo puede ejecutarse de manera diferente en una plataforma diferente. Si su aplicación se basa en cualquier módulo de apache, asegúrese de que esté disponible para ambas plataformas. Lo mismo ocurre con las extensiones personalizadas de PHP (PECL)

  3. Process Forking. Usar exec, `, etc. en una aplicación web es una mala idea, pero si usa estas funciones se comportará de manera diferente entre Windows y * nix

  4. Escritura de archivos, bloqueo, etc. . trabaja diferente

  5. correo electrónico se maneja de manera diferente en ambas plataformas

  6. palabra de código del grupo de PHP para Windows es "algunas plataformas". Usted puede investigar más on your own si desea

En general, cuanto más cerca del entorno de desarrollo se adapte a su entorno de producción, las cuestiones relacionadas con la implementación/menos medio ambiente que tendrá.

Espero que ayude!

+0

Para casi todos los problemas que menciona, existen soluciones portátiles. –

+0

¿Sabes si hay diferencias/problemas con respecto a las marcas de tiempo? p.ej. ¿las funciones de strtotime() aún proporcionan la marca de tiempo de unix correcta? – LazerSharks

13

Lo he estado haciendo durante los últimos años y todavía no he tenido ningún problema. En todo caso, le da una ventaja al obligarlo a escribir más código portátil.

+1

Sí. Desarrolla en WAMP y despliega en LAMP, hacemos todo lo contrario, y aunque fue una transición dolorosa, estamos mucho mejor debido a eso. Puedo intercambiar entornos en caliente en producción para probarlos siempre que lo necesite sin preocuparme por la plataforma subyacente. – cfeduke

+1

Solo tenga cuidado con los permisos de archivos y recuerde que windows no distingue entre mayúsculas y minúsculas mientras que Linux no lo es. no estar al tanto de eso podría causar algunos errores desagradables. – levhita

1

No, el revelado en la pared y el funcionamiento de la lámpara deberían estar bien, pero al menos en la etapa de la lámpara. He recorrido ambos caminos sin muchos problemas (bueno, solía haber un montón de problemas al implementar sitios empresariales en WAMP (no intente utilizar el filtro ISAPI de PHP) pero ahora se pueden resolver (fastcgi)). Siempre que no agregue ningún módulo PECL que indique que no es compatible con Windows, no debería tener ningún problema. Además (dado que usted indica que está usando WAMP, supongo que está utilizando MySql), mssql y PHP tienen varios problemas (el antiguo controlador que requiere limita seriamente la duración de su consulta).

1

En teoría, PHP y MySQL deberían ser completamente independientes de la plataforma.

En la práctica, si va a tener una aplicación de producción real, le sugiero que tenga un entorno de prueba que refleje la de producción, para evitar sorpresas.

1

Sí Recomendaría desarrollar en un entorno lo más cercano posible a su entorno de producción. Existen diferencias entre cómo funciona PHP en Windows en comparación con Linux. Y otras diferencias, como cómo maneja Linux los permisos de archivos en comparación con Windows. Ejecuto el servidor VMWare gratuito con una máquina virtual Linux. Tengo un recurso compartido de Samba en la máquina virtual Linux que monté como unidad de red en Windows. Luego uso Eclipse en Windows como mi editor de código.

0

No, porque prácticamente la única cosa que no se puede hacer en WAMP si orienta LAMP se está utilizando /Exec llamadas, y por lo general que es una buena cosa porque los debe usarse muy escasamente.

2

Los permisos y el hecho de que en los nombres de archivo de Windows no distinguen entre mayúsculas y minúsculas son las dos cosas que puedo pensar que me han causado dolor. Pero son

  1. Solvable, en el peor de los casos con un cliente ftp para cambiar los permisos.
  2. Buenas y sencillas formas de convertirte en un mejor programador (en una pequeña forma, sí).
0

Vale la pena tener una caja de arena LAMP para que pueda saber dónde encontrar y cómo editar archivos de configuración, ponerse cómodo con reiniciar servicios, gestionar trabajos programados, etc., si va a tener que lidiar con estas tareas en producción

0

No.
VirtualBox + Las carpetas compartidas deben ser útiles si tiene entre 6 y 8 horas gratis en un fin de semana para obtener todos los fundamentos de VBox claros y la configuración resuelta. Si se cambia a Linux, el proceso puede tardar hasta un mes y será altamente improductivo en ese momento, en términos de código de producción.
Es una buena idea seguir practicando Linux en VBox para Windows, por adelantado antes de cambiar, usando uno de [PCLinuxOS, CentOS, OpenSuse, Ubuntu]. Prefiero CentOS, PCLinuxOS. Hay una gema llamada SLAMPP y otra belleza llamada XAMPP < - funciona en Linux y Windows.
IMO, como estimación aproximada, si espera codificar 2000-3000 líneas de código (que escribe/agrega) por proyecto, durante 6mo-1yr, adhiérase a Windows y domine Linux mientras usa VBox.
Si está por encima de eso, o si planea crear un nuevo sitio web de LAMP, creo que primero debe cambiar a Linux. Tómate un mes más para acostumbrarte a Linux. Todavía puedes barajar con el arranque dual o VBox el tiempo que quieras, comenzando lo más temprano que puedas; aprender Linux lo suficiente para depurar una aplicación LAMP lleva tiempo.

0

Rutas, ten cuidado con las rutas. Puedes construir un cms entero y se arruinaría debido a los caminos.