¿Cuáles son los beneficios de usar el sistema operativo Linux para desarrollar un sitio web basado en PHP?

3

En un entorno de desarrollo de PHP que visité recientemente, el desarrollador principal se mantuvo firme en que usan Linux en sus máquinas para el desarrollo de Zend.

Yo personalmente uso Windows y obtengo los mismos resultados durante el desarrollo. También diseño muchos gráficos y me siento más cómodo usando Windows.

¿Hay alguna ventaja de usar Linux sobre Windows en un entorno de desarrollo? De ser así, ¿cuáles podrían ser?

Kyle
fuente

Respuestas:

5

He estado usando Windows, Mac y Ubuntu para el desarrollo de PHP, y si su entorno está configurado correctamente, no hay absolutamente ninguna diferencia.

Algunas herramientas, como Git, están menos disponibles para Windows, por lo que es posible que deba buscar implementaciones especiales o usar cygwin, pero en general, no hay diferencia.

Travelling Tech Guy
fuente
Gracias, esto solo confirma que puedo cambiar de manera segura el sistema operativo a Windows y trabajar tan bien como los chicos de Linux.
Kyle
7

Una diferencia notable es el sistema de archivos que distingue entre mayúsculas y minúsculas. Por ejemplo, si tiene un archivo llamado "Bootstrap.php" (mayúscula B) y su código contiene la línea require_once('bootstrap.php');(minúscula b), funcionará en Windows y fallará en Linux.

A veces también hay errores específicos de Windows, Linux o incluso versiones específicas con diferentes bibliotecas utilizadas por PHP.

En resumen, con frecuencia es mejor desarrollarse en un entorno que sea lo más cercano posible al sistema de producción.

Si es necesario, una posible configuración es usar una colección de máquinas virtuales para cada entorno para el que termines programando.

rrehbein
fuente
Como nota al margen, la configuración que utilizamos en mi trabajo es un servidor de desarrollo en el que trabajamos SSH, y puede instalar lo que queramos en nuestras estaciones de trabajo.
Izkata
Cuando construyo páginas web, construyo en Windows o Mac (dependiendo de la compañía con la que esté), pero todos los servidores siempre están en Linux. Mantener el mismo caso es un detalle MUY importante cuando no está trabajando en un servidor de Windows. Como necesito probar las páginas, subo al servidor Linux, entonces realmente no importa qué archivo coloco
Canadian Luke
También está el problema de los finales de línea, aunque creo que la mayoría del software FTP realiza conversiones automáticas.
DisgruntledGoat
@DisgruntledGoat: incluso los editores de texto manejan los finales de línea de manera personalizada, pero no todos los programadores parecen preocuparse por configurarlo. He visto depósitos de código destruidos por un commit con diferentes finales de línea.
vtest
2

Algunos scripts php de línea de comandos se encuentran con varios problemas en mi máquina Windows.

Por ejemplo, he tenido la CLI de Symfony que arrojará caché: borre errores dentro de Windows, mientras que funciona perfectamente en mi entorno Linux.

También una vez me encontré con la alegría de ejecutar ~ 60 consultas porque usé el caso de camello en los nombres de mi tabla y me referí a ellos como tal en mis consultas (que funciona en Windows ya que ignora el caso). Cuando coloqué el proyecto en nuestra pila LAMP, las consultas fallaron porque MySql en Linux almacena los nombres de las tablas en minúsculas y distinguen entre mayúsculas y minúsculas.

Además, dado que mi máquina Windows era mi servidor de prueba local, una vez me encontré con una biblioteca PHP que no necesitaba estar disponible para Windows.

Pequeñas minucias como esa me han costado productividad en el pasado. Por otra parte, también tiene casi todas las actualizaciones de Ubuntu, por lo que es un toma y daca;)

Mella
fuente
2

El más simple que se me ocurre es que si su entorno de desarrollo y el entorno de implementación son similares, es más fácil obtener dependencias. Si es un proyecto autónomo, está bien, pero en muchas aplicaciones basadas en web es necesario extraer dependencias externas: pregúntele a su desarrollador principal qué bibliotecas externas usan y cómo se actualizan.

Muchos desarrolladores también tienen preferencia por las herramientas que pueden estar en un sistema operativo u otro, posiblemente sus otros desarrolladores son fanáticos de Vim o Emacs, por ejemplo, o usan un cliente del sistema de control de fuente cli por preferencia.

Por supuesto, podría obtener lo mejor de ambos mundos con una VM (o un servidor Linux separado), y / o el uso de masilla y smb para compartir archivos.

Sin embargo, al final del día, debe sentirse cómodo con su configuración básica. Comience a trabajar en Windows: encuentre los problemas reales que enfrenta en el entorno y descubra cómo solucionarlos.

Journeyman Geek
fuente